日期:2014-05-20  浏览次数:20799 次

Action中request.setAttribute()方法提交的参数在JSP中无法获得
如题,下面是部分代码:

Action中的部分代码:
List list = manager.getGuestbooks();//获取数据
Guestbook g=null;//测试数据是否成功获取,在控制台显示
for(Object o:list){
g=(Guestbook)o;
System.out.println(g.getId());
}
request.setAttribute("guest.list", list);
return mapping.findForward("guestbook.display");

jsp页面:
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
</head>
<body>
查询结果:
<c:forEach items="${RequestScope['guest.list']}" var="article">
<c:out value="${article.name}" />
<c:out value="${article.time}" />
<c:out value="${article.title}" />
<c:out value="${article.url}" />
<c:out value="${article.content}" />
=====================================
</c:forEach>
输出结束。
</body>
</html>

测试的结果:
  1 在控制台上输出了数据库的相应数据,也没有其他的报错信息
  2 网页部分显示异常,只有显示:查询结果:输出结束。
  没有输出查询到的结果

我自己分析大概有两种情况吧
  1 在JSP页面中没获取到Action提交的参数list,所以没有输出结果
  2 jstl标签的书写错误

我刚在学,想了半天不知道怎么处理这个错误,大家帮我看看,先谢谢了

------解决方案--------------------
try
 
<c:forEach items="${guest.list}" var="article">