Tomcat 6.0不允许将泛型ArrayList用于useBean

Mr *_*old 3 jsp tomcat generic-list usebean

在jsp文件中,我有这个声明:

<jsp:useBean scope="request" id="products" class="java.util.ArrayList<sgt.supermarket.entity.Product>"/>
Run Code Online (Sandbox Code Playgroud)

这个声明适用于GlassFish 2.1,但是,当我切换到Tomcat 6.0时,会抛出异常:

useBean类属性java.util.ArrayList的值无效.

是否有任何图书馆错过了Tomcat,使其与Glass Fish 2.1有所不同?

Bal*_*usC 5

EL不知道参数化类型,因此没有必要这样做.在JSP/EL中,绝对没有编译时检查.EL更多地基于反射.然而,我有点惊讶它在Glassfish中"有效",因为它没有在JSP/EL规范中指定.

除此之外,jsp:useBean在一个体面的MVC应用程序中相当多余,其中a Servlet用于控制和预处理请求.

List<Product> procucts = productDAO.list();
request.setAttribute("products", products);
request.getRequestDispatcher("products.jsp").forward(request, response);
Run Code Online (Sandbox Code Playgroud)

products目前由EL刚刚访问${products}.不需要jsp:useBean.