此声明适用于 GlassFish 2.1,但是,当我切换到 Tomcat 6.0 时,会抛出异常: useBean 类属性 java.util.Arra-6ren">
gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 21:51:15 25 4
gpt4 key购买 nike

在一个 jsp 文件中我有这样的声明:

<jsp:useBean scope="request" id="products" class="java.util.ArrayList<sgt.supermarket.entity.Product>"/>

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

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

Tomcat 是否缺少任何使其行为不同于 Glass Fish 2.1 的库?

最佳答案

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

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

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

products 现在只能通过 ${products} 在 EL 中访问。不需要 jsp:useBean

关于jsp - Tomcat 6.0 不允许将泛型 ArrayList 用于 useBean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1906123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com