In a jsp file I have this declaration:
<jsp:useBean scope="request" id="products" class="java.util.ArrayList<sgt.supermarket.entity.Product>"/>
This declaration works fine with GlassFish 2.1, however, when I switch to Tomcat 6.0, exceptions is thrown:
The value for the useBean class attribute java.util.ArrayList is invalid.
Is there any library missed for Tomcat that makes it behave different from Glass Fish 2.1?
EL isn't aware of parameterized types, so there is no need to do so. In JSP/EL there are absolutely no compile-time checks on that. EL is more based on reflection. I am however a bit surprised that it "works" in Glassfish as it isn't specified in JSP/EL specifciation.
Apart from it all, the
jsp:useBean
is fairly superfluous in a decent MVC application wherein aServlet
is been used to control and preprocess the requests.The
products
is now just accessible in EL by${products}
. No need for ajsp:useBean
.