当前位置:编程学习 > JAVA >>

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? --------------------编程问答--------------------
引用 3 楼 rui888 的回复:
List<DiscussBean> list=dd.queryDis();
System.out.println(list.size()+"-----list");

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>” --------------------编程问答--------------------
Quote: 引用 7 楼 rui888 的回复:

首先确认标签引用进来了,

<table id="jstl">
       <c:forEach items="${list}" var="item">
               
        <tr><td>(123)${item.time}</td><td>${item.content}</td></tr>
       </c:forEach>
    </table>
123可以打印出来吗?[/quot]
 其标签可以使用;为什么这个<c:foreach/>没法引用? --------------------编程问答-------------------- DiscussBean 里面的属性(content,time)是不是写错了。页面报错不。
<c:out value="${item.content}"/>
<c:out value="${item.time}"/> --------------------编程问答-------------------- 感觉没有做set和get --------------------编程问答--------------------
引用 12 楼 rui888 的回复:
DiscussBean 里面的属性(content,time)是不是写错了。页面报错不。
<c:out value="${item.content}"/>
<c:out value="${item.time}"/>


页面不报错 --------------------编程问答-------------------- DiscussBean 有对应的set get 方法不。你可以debug 调试看下,list里面实体是怎么写的。然后jsp对应实体属性。 --------------------编程问答-------------------- 绑定值错了,request.getSession().setAttribute(String,Object);页面中是从session中去取的 --------------------编程问答-------------------- system.out.println("list=="+list); 看下有没有值
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,