我是JSTL的新手。我需要獲取數據庫的內容並將其顯示在jsp中。我正在使用mvc來達到這個目的。我有servlet從表中檢索數據並將其存儲在bean類的arraylist中。我正在將arraylist轉發到jsp頁面,我正在使用forEach jstl來顯示arraylist。但我收到錯誤 HTTP狀態500 -在jsp中使用jstl顯示類型bean的arraylist
類型異常報告
消息
描述服務器遇到一個內部錯誤()阻止其完成此請求。
例外
org.apache.jasper.JasperException:發生處理JSP頁/Retrievedata.jsp例外,在線路89
86: 87: 88: 89: 90: 91 : 92:
堆棧跟蹤: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service (JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) stepack.ReqServlet.doPost(ReqServlet.java:60) javax.servlet.http.HttpServlet.service(的HttpServlet。的java:637) javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
根源
javax.servlet.ServletException:javax.servlet.jsp.JspException:而evalu時發生錯誤使用值「$ {current.Title}」自定義操作屬性「值」:無法使用運算符「。」在類「stepack.Reqbean」的對象中找到「標題」的值。 (空) org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791) org.apache.jsp.Retrievedata_jsp。 _jspService(Retrievedata_jsp.java:189) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper .servlet.JspServletWrapper.service(JspServletWrapper.java:377) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260 ) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) stepac k.ReqServlet.doPost(ReqServlet.java:60) javax.servlet.http.HttpServlet.service(HttpServlet.java:637) javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
根本原因
javax.servlet.jsp.JspException:使用值「$ {current.Title}」評估自定義操作屬性「值」時發生錯誤:無法在類「對象」對象中找到「標題」 stepack.Reqbean「使用操作符」。「 (null) org.apache.taglibs.standard.lang.jstl.Evaluator.evaluate(Evaluator。java:131) org.apache.taglibs.standard.lang.jstl.Evaluator.evaluate(Evaluator.java:151) org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager.evaluate(ExpressionEvaluatorManager.java:97) org.apache.taglibs.standard.tag.el.core.ExpressionUtil.evalNotNull(ExpressionUtil.java:70) org.apache.taglibs.standard.tag.el.core.OutTag.evaluateExpressions(OutTag.java:121) org.apache.taglibs.standard.tag.el.core.OutTag.doStartTag(OutTag.java:79) org.apache.jsp.Retrievedata_jsp._jspx_meth_c_005fout_005f0(Retrievedata_jsp.java:254) org.apache.jsp.Retrievedata_jsp ._jspx_meth_c_005fforEach_005f0(Retrievedata_jsp.java:216) org.apache.jsp.Retrievedata_jsp._jspService(Retrievedata_jsp.java:150) org.apa che.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java: (JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service (HttpServlet.java:717) stepack.ReqServlet.doPost(ReqServlet.java:60) javax.servlet.http.HttpServlet.service(HttpServlet.java:637) javax.servlet.http.HttpServlet.service(的HttpServlet。 java:717)
note注意根本原因的完整堆棧跟蹤i可以在Apache Tomcat/6.0.29日誌中找到。
的代碼如下:在JSP <%@標籤庫前綴= 「c」 的URI = 「http://java.sun.com/jstl/core」 %>
的Servlet:
公共類ReqServlet延伸的HttpServlet
{保護無效的doPost(HttpServletRequest的請求,HttpServletResponse的respo NSE)拋出的ServletException,IOException異常 {
try
{
ArrayList<Reqbean> row = new ArrayList<Reqbean>(); .........
String q="SELECT "...........;
Statement stmt=conn.createStatement();
ResultSet res=stmt.executeQuery(q);
boolean report=res.next();
if(report)
{
do
{
Reqbean req=new Reqbean();
// Selecting values from ResultSet and storing them in Reqbean class
req.setId(res.getString(1));
req.setTitle(res.getString(2));
// adding Reqbean object to ArrayList
row.add(req);
System.out.println("adding");
}while(res.next());
}
res.close();
stmt.close();
conn.close();
request.setAttribute("row", row);
}
catch (Exception e)
{
request.setAttribute("error", "Retrieving rows failed.");
e.printStackTrace();
}
request.getRequestDispatcher("Retrievedata.jsp").forward(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
}
}
Reqbean類: 公共類Reqbean { 公共字符串ID; public String Title; public void setId(String val) { this.Id = val; } public String getId() { return Id; } public void setTitle(String val) { this.Title = val; } public String getTitle() { return Title; }}
我已經放置的jstl.jar和standard.jar在WEB-INF/lib文件夾 請幫我.................
其工作.....感謝名單了很多 – user662175
嗨,感謝我,你能接受我通過點擊左邊的'V'來回答。歡迎來到stackoverflow :) – Fortega