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
теперь просто доступен в EL по ${products}
. Нет необходимости в jsp:useBean
.