1、在struts做查询数据的页面时,页面报错
javax.servlet.ServletException: Cannot find bean jlist in scope request
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:867)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:800)
org.apache.jsp.version.list_jsp._jspService(list_jsp.java:143)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
2、定位问题
1)action类代码如下,且经过验证list是存在数据的
List list = new ArrayList();
VersionBean bean = new VersionBean();
ServletContext app = request.getSession().getServletContext();
String sql = (String) app.getAttribute("f_listVersion");
try {
list = bean.qryVersion(sql);
} catch (SQLException e) {
logger.error("QryVersion failed!");
logger.error(e.getMessage());
return mapping.findForward("fail");
}
request.setAttribute("jlist",list);
return mapping.findForward("success");
2)jsp显示页面,代码也正常
<logic:present name="jlist" >
<logic:iterate id="list" name="jlist" scope="request">
<tr>
<td height="46" width="82" align="center">
<bean:write name="list" property="verID"/>
</td>
<td height="46" width="138" align="center">
<bean:write name="list" property="name"/>
</td>
<td height="46" width="58" align="center">
<bean:write name="list" property="status"/>
</td>
<td height="46" width="232" align="center">
<bean:write name="list" property="description"/>
</td>
<td height="46" width="50" align="center">
<input type="radio" value="<bean:write name="list" property="verID"/>" name="verID">
</td>
</tr>
</logic:iterate>
</logic:present>
3)接下来查看struts-config.xml 配置文件,发现forward redirect属性为true,当试着修改成false的时候,重启tomcat,就查询出来结果了。
<action
path="/version/listVersion"
type="com.webike.action.ListVersionAction"
scope="request">
<forward name="success" path="/version/list.jsp" redirect="true"/>
<forward name="fail" path="/version/index.html" redirect="true"/>
</action>