用java写了一个发帖的小程序,可以发帖子,但是帖子在jsp页面读不出来!郁闷,求解...
贴出一部分我的代码:
jsp页面代码:用了两种标签都取不出来!
     <s:debug></s:debug>${text}
     <c:forEach items="${bbs}" var="v">
<table width="98%" border="0" cellspacing="1" cellpadding="0" align="center" bgcolor="#FFFFFF">
<tr>
    <td>v.name</td>
    <td>v.title</td>
    <td>v.content</td>
    <td>时间</td>
</tr>
</table>
 </c:forEach>
      <hr/>
    <s:iterator value="bbs">
    <table width="98%" border="0" cellspacing="1" cellpadding="0" align="center" bgcolor="#FFFFFF">
<tr>
<td>
<s:property value="name"/>
</td>
<td>
<s:property value="title"/>
</td>
<td>
<s:property value="content"/>
</td>
</tr>
</table>
</s:iterator>ForumAction一部分代码:(action可以取到已发布的帖子) public String find() throws Exception {
BbsDao bbsdao = new BbsDao();
bbs = bbsdao.findAllBbs();
for(Bbs b : bbs){
System.out.println(b.getContent());
}
return "find";
}
strutrs.xml代码: <package name="bbs" extends="struts-default">
<action name="Forum" class="huan.action.ForumAction" >
 <result name="insert">/bbs_list.jsp</result>
          <result name="find">/bbs_list.jsp</result>
</action>  
</package>就是郁闷action里面已经取到帖子,就是传不到jsp页面遍历???那里出错了呢?
   

解决方案 »

  1.   

    把你的bbs用…setAttribute(bbs)一下
      

  2.   

    用过了,加了下面的代码,还是一样取不到值!
    getSession().setAttribute("bbs",bbs);public HttpSession getSession() {
    return ServletActionContext.getRequest().getSession();
    }

    public HttpServletRequest getRequest() {
    return ServletActionContext.getRequest();
    }
      

  3.   

    ++
    bbs 要保存到request中,才能从jsp中读取。
      

  4.   

    你先在页面上直接用“${bbs}”  在页面输出,看是空的还是啥。不空则是遍历问题,空则是没放入request
      

  5.   

    额  我发现,
    <td>v.name</td>
    <td>v.title</td>
    <td>v.content</td>这段也要用s标签或者${} 标签读出属性
      

  6.   

    ${bbs}是个集合,怎么能直接输出呢?我改后,页面什么都没,输出是空。
      

  7.   

    request.setAttribute("bbs",bbs)看能行不
      

  8.   

    个人感觉把<c:forEach items="${bbs}" var="v">,<s:iterator value="bbs">这样的循环标签放在<table>里
    比如<table><c:forEach items="${bbs}" var="v"><tr>.......</tr></c:forEach></table>
    如果在jsp页面获取不了值,试一下把集合数据放在request里
    HttpServletRequest request = ServletActionContext.getRequest();
    request.setAttribute("bbs ", bbs );看代码好像没什么问题,从action跳转到jsp页面不用把值放在request里
           
      

  9.   

    bbs = bbsdao.findAllBbs();
    request.setAttribute("bbs",bbs);
    <s:iterator id="list" value="#request.bbs">
    <s:property value="#list.title"/>
    <s:property value="#list.content"/>
    </s:iterator>
      

  10.   

    用struts的drivenModel来封装好所有属性
      

  11.   

    代码没问题,是不是配置或者jar文件的问题呢?
      

  12.   

    先request.setAttribute("bbs",bbs);
    后读的时候试试这样
    <c:forEach items="${requestScope.bbs}" var="v">
    <table width="98%" border="0" cellspacing="1" cellpadding="0" align="center" bgcolor="#FFFFFF">
    <tr>
    <td>${v.name}</td>
    <td>${v.title}</td>
    <td>${v.content}</td>
    <td>时间</td>
    </tr>
    </table>
    </c:forEach>
      

  13.   

    引用 1 楼 a15937712253 的回复:把你的bbs用…setAttribute(bbs)一下++
    bbs 要保存到request中,才能从jsp中读取。