Model view controller 在jsp中使用jstl显示bean类型的arraylist
我是JSTL的新手。我需要获取数据库的内容并在jsp中显示它。我使用mvc就是为了这个目的。我有一个servlet,它从表中检索数据并将其存储在bean类类型的arraylist中。我正在将arraylist转发到jsp页面,在这里我使用forEach jstl显示arraylist。但我犯了一个错误 HTTP状态500- 类型异常报告 信息 说明服务器遇到内部错误(),无法完成此请求 例外情况 org.apache.jasper.jaspereException:在第89行处理JSP页面/Retrievedata.JSP时发生异常 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) javaservlet.http.HttpServlet.service(HttpServlet.java:717) stepack.ReqServlet.doPost(ReqServlet.java:60) javaservlet.http.HttpServlet.service(HttpServlet.java:637) javaservlet.http.HttpServlet.service(HttpServlet.java:717) 根本原因 javax.servlet.ServletException:javax.servlet.jsp.jspeException:评估值为“${current.Title}”的自定义操作属性“value”时出错:在类“stepack.Reqbean”的对象中找不到“Title”的值。(null) org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791) org.apache.jsp.Retrievedata\u jsp.\u jsp服务(Retrievedata\u jsp.java:189) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javaservlet.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) javaservlet.http.HttpServlet.service(HttpServlet.java:717) stepack.ReqServlet.doPost(ReqServlet.java:60) javaservlet.http.HttpServlet.service(HttpServlet.java:637) javaservlet.http.HttpServlet.service(HttpServlet.java:717) 根本原因 javax.servlet.jsp.JspException:使用值“${current.Title}”计算自定义操作属性“value”时出错:在类“stepack.Reqbean”的对象中找不到“Title”的值(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.expressionevaluationmanager.evaluate(expressionevaluationmanager.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\u jsp.\u jspx\u meth\u c\u 005fforEach\u 005f0(Retrievedata\u jsp.java:216) org.apache.jsp.Retrievedata\u jsp.\u jsp服务(Retrievedata\u jsp.java:150) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javaservlet.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) javaservlet.http.HttpServlet.service(HttpServlet.java:717) stepack.ReqServlet.doPost(ReqServlet.java:60) javaservlet.http.HttpServlet.service(HttpServlet.java:637) javaservlet.http.HttpServlet.service(HttpServlet.java:717) 注意,Apache Tomcat/6.0.29日志中提供了根本原因的完整堆栈跟踪 代码如下: 在jsp中 Servlet: 公共类ReqServlet扩展了HttpServlet {受保护的void doPost(HttpServletRequest请求,HttpServletResponse响应)引发ServletException,IOException {Model view controller 在jsp中使用jstl显示bean类型的arraylist,model-view-controller,Model View Controller,我是JSTL的新手。我需要获取数据库的内容并在jsp中显示它。我使用mvc就是为了这个目的。我有一个servlet,它从表中检索数据并将其存储在bean类类型的arraylist中。我正在将arraylist转发到jsp页面,在这里我使用forEach jstl显示arraylist。但我犯了一个错误 HTTP状态500- 类型异常报告 信息 说明服务器遇到内部错误(),无法完成此请求 例外情况 org.apache.jasper.jaspereException:在第89行处理JSP页面/Re
试试看
{
ArrayList行=新建ArrayList()。。。。。。。。。
字符串q=“选择”。。。。。。。。。。。;
语句stmt=conn.createStatement();
ResultSet res=stmt.executeQuery(q);
布尔报告=res.next();
如果(报告)
{
做
{
Reqbean req=新的Reqbean();
//从ResultSet中选择值并将其存储在Reqbean类中
请求setId(res.getString(1));
请求设置标题(res.getString(2));
//将Reqbean对象添加到ArrayList
行添加(req);
系统输出打印项次(“添加”);
}while(res.next());
}
res.close();
stmt.close();
康涅狄格州关闭();
request.setAttribute(“行”,行);
}
捕获(例外e)
{
setAttribute(“错误”,“检索行失败”);
e、 printStackTrace();
}
getRequestDispatcher(“Retrievedata.jsp”).forward(请求,响应);
}
受保护的void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException
{
}
}
Reqbean类:
公共类Reqbean{
公共字符串Id;
公共字符串标题;
公共void setId(字符串val)
{
Id=val;
}
公共字符串getId()
{
返回Id;
}
公共void setTitle(字符串val)
{
this.Title=val;
}
公共字符串getTitle()
{
返回标题;
}
}
我已经放置了jstl.jar和standard.jar
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
{
}