(インデックス)番号ではなく属性を使用して、JSPページ内のリスト要素にアクセスしたいと思います。
最初に:コントローラー内のアイテムのリストを次のように取得します:
List<Item> items;
2番目:モデル属性としてJSPページに送信します
3番目: 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オブジェクトにキャストするには、TypicalSQLの代わりにHQLを使用する必要があります。
私はそのアプローチをテストし、それは機能しています!
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加