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>

================================
输出的结果都是为空,就是说不能得到数据,请高人指点。
...全文
366 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
phon_oy 2008-07-21
  • 打赏
  • 举报
回复
在数据库端
select * from guestbook order by id desc
查询有数据么?
把request.setAttribute("guestbook.display.list",list);
改为request.setAttribute("results",list);
在页面
<c:forEach items="${results}" var="article">
<c:out value="${article.time}" />
.......
......
</c:forEach>
key写那么长很容易出错。

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧