Struts问题。request.setAttribute,在JSP的显示页面不能得到数据,紧急求助!
hfq01 2008-07-21 05:51:27 Struts问题。request.setAttribute,在JSP的显示页面不能得到数据,紧急求助!
现在在学习做一个留言本。
使用Struts实现,用的是eclipse开发平台,插件是myeclipse.
问题是在从数据库中读取留言内容并显示到JSP页面的时候出现的问题。
------------------------
对应的模型Action代码是:
public class ReadAction extends Action {
/*
* Generated Methods
*/
/**
* Method execute
*
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String sql = "select * from guestbook order by id desc";
try {
Context context = new InitialContext();
DataSource ds = (DataSource) context.lookup("java:comp/env/jdbc/mysql/guestbook");
QueryRunner qr = new QueryRunner(ds);
List list =(List) qr.query(sql, new BeanListHandler(Guestbook.class));
//问题就出在这个地方
request.setAttribute("guestbook.display.list",list);
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return mapping.findForward("guestbook.display");
}
-------------------------------------
对应的struts-config.xml部分内容:
<global-forwards>
<forward name="guestbook.display" path="/display.jsp" />
</global-forwards>
<action path="/read"
type="com.yourcompany.struts.action.ReadAction" validate="false">
</action>
------------------------------------------
对应的显示数据的页面是:display.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<title>My JSP 'display.jsp' starting page</title>
</head>
<body>
第一种方法输出结果:
<%=request.getAttribute("guestbook.display.list") %>
第二种方法输出结果:
<c:forEach items="${requestScope['guestbook.display.list']}" var="article">
<c:out value="${article.time}" />
<c:out value="${article.email}" />
<c:out value="${article.url}" />
<c:out value="${article.content}" />
<c:out value="${article.title}" />
<c:out value="${article.name}" />
</c:forEach>
</body>
</html>
================================
输出的结果都是为空,就是说不能得到数据,请高人指点。