jstl标签问题<c:foreach>
代码如下:public String execute () throws Exception
{
HttpServletResponse response =ServletActionContext.getResponse();
HttpServletRequest request=ServletActionContext.getRequest();
response.setContentType("text/html;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
DisDao dd=new DisDao();
List<DiscussBean> list=dd.queryDis();
request.setAttribute("list", list);
return null;
页面代码:
<table id="jstl">
<c:forEach items="${list}" var="itlist">
<tr><td>${itlist.time}</td><td>${itlist.content}</td></tr>
</c:forEach>
</table>
但是页面没有数据显示;为什么; 求解。 --------------------编程问答-------------------- DisDao dd=new DisDao();这句对么?
我感觉是不是应该new 它的实现类啊? --------------------编程问答-------------------- 取得的list是空的吧,DisDao是接口吗? 如果是,请new它的实现,如果不是就检查queryDis()方法,是否有错误 --------------------编程问答-------------------- List<DiscussBean> list=dd.queryDis();
System.out.println(list.size()+"-----list"); --------------------编程问答-------------------- 楼主头像不错,who? --------------------编程问答--------------------
list 不为空 ;
页面就是获取不到数据 --------------------编程问答--------------------
request.setAttribute("list", list);
换成
request.getSession().setAttribute("list", list);
试试。
--------------------编程问答-------------------- 首先确认标签引用进来了,
<table id="jstl">
<c:forEach items="${list}" var="item">
<tr><td>(123)${item.time}</td><td>${item.content}</td></tr>
</c:forEach>
</table>
123可以打印出来吗? --------------------编程问答-------------------- 多在页面输出写无关紧要的内容,或者debug查看 --------------------编程问答-------------------- 你那里return null;请问struts里面怎么配置的呢?是不是struts配置的相应action里面,应该有:
<result name="success">页面的路径<result/>,然后excute方法return SUCCESS;
还有就是那个DisDao dd=new DisDao();DisDao是一个借口吧,这样实例化不能调用的实现类的方法,应该通过向上转型DisDao dd=new DisDaoImpl();这样再去调用你想调用的方法就可以了 --------------------编程问答-------------------- 上面“<result name="success">页面的路径<result/>”写错了,应该为“<result name="success">页面的路径</result>” --------------------编程问答--------------------