如何在 JSTL 中为数组指定 useBean 标签

Posted

技术标签:

【中文标题】如何在 JSTL 中为数组指定 useBean 标签【英文标题】:How to specify useBean tag for array in JSTL 【发布时间】:2014-03-12 16:04:10 【问题描述】:

我正在尝试在 bean 中传递一个数组列表,以由 JSP 中的 JSTL foreach 处理。 我不知道如何为集合指定 useBean 标记,因为 tomcat 会踢回堆栈跟踪异常 java.lang.ClassCastException:java.util.ArrayList 无法转换为 com.business.PersonBeanModel

servlet 像这样发送数组列表:

List<PersonBeanModel> people = ManageEmployee.getpeople();
request.setAttribute("jsppeople", people); 

JSP 包含:

<jsp:useBean id="jsppeople" scope="request" class="com.business.PersonBeanModel" />

    <c:forEach items="$jsppeople" var="myperson">
       $myperson.name
    </c:forEach>

【问题讨论】:

删除&lt;jsp:useBean&gt;... 从您的 JSP 中删除 行并重试。您将 jsppeople 放入 Servlet 的范围内。 那很简单....谢谢! 【参考方案1】:

问题是您的jsppeople 属性是List,而不是PersonBeanModel,这是您在&lt;jsp:bean&gt; 中尝试做的:

<jsp:useBean id="jsppeople" scope="request" class="com.business.PersonBeanModel" />

因此,解决方案是删除此行并继续使用JSTL 和EL。

【讨论】:

以上是关于如何在 JSTL 中为数组指定 useBean 标签的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Swift 中为 Int 数组(自定义字符串结构)实现 Hashable 协议

如何在 Swift 中为 Int 数组(自定义字符串结构)实现 Hashable 协议

如何使用Jersey在REST Web服务中为服务类指定多个包名称

如何在 JSP 或 JSTL 中获取页面名称?

如何使用标志在 Drupal 视图中为节点提供特定的放置顺序

jsp:useBean