【问题标题】:Access list elements on jsp using attributes使用属性访问jsp上的列表元素
【发布时间】:2014-09-27 14:35:59
【问题描述】:

我想使用属性而不是(索引)编号来访问我的 JSP 页面中的列表元素。

首先:我在控制器中获得了一个项目列表:

List<Item> items;

第二个:我将它作为模型属性发送到我的 JSP 页面

第三:我通过forEach标签访问列表:

<c:forEach items="${roles}" var="role">

       ${role[1]}

</c:forEach>

如您所见,我使用列的索引号,但实际上我想使用属性名称:

${role.code}

但是当我这样做时,我得到了一个例外:

java.lang.NumberFormatException: For input string: "code"
java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
java.lang.Integer.parseInt(Integer.java:449)
java.lang.Integer.parseInt(Integer.java:499)
javax.el.ArrayELResolver.coerce(ArrayELResolver.java:166)
javax.el.ArrayELResolver.getValue(ArrayELResolver.java:46)
org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:104)
org.apache.el.parser.AstValue.getValue(AstValue.java:183)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185)
org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:1026)
org.apache.jsp.WEB_002dINF.pages.roles.roles_jsp._jspx_meth_c_005fforEach_005f0(roles_jsp.java:559)
org.apache.jsp.WEB_002dINF.pages.roles.roles_jsp._jspService(roles_jsp.java:352)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:209)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:267)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1221)
org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1005)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:952)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

这个问题的原因是什么?我如何准备使用这些属性?

【问题讨论】:

    标签: java spring jsp model-view-controller


    【解决方案1】:

    我找到了解决方案。在我的情况下,我必须使用 HQL 而不是典型的 SQL 才能将结果转换为真正的 Java 对象。

    我测试了这种方法,它是有效的!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-16
      • 2020-02-13
      • 1970-01-01
      • 2021-03-13
      • 2017-09-02
      • 1970-01-01
      相关资源
      最近更新 更多