当前位置: 代码迷 >> J2EE >> 小弟第一次发帖,问个很菜的有关问题,多谢了
  详细解决方案

小弟第一次发帖,问个很菜的有关问题,多谢了

热度:170   发布时间:2016-04-22 02:35:30.0
小弟第一次发帖,问个很菜的问题,谢谢了
最近在了解J2EE开发相关的东西,自己学习做了一个小东西,后台是java,服务器用的tomcat6,使用了struts2框架,下面这段代码,我想实现的效果是按下“查看借书情况”后在下方以表格的方式显示出当前用户的借书记录,最后的结果是,浏览器里可以观察到表格出来了,但是表格里面的内容不是我放入session内的数据,而是"${myCurRecordList.RBname }" "${myCurRecordList.RBid }" "${myCurRecordList.ROut }"这三个表达式字符串,我自己调试的时候,后台可以查询到数据并已经放入List类型的myCurRecordList中,
Map<String, Object > session=(Map<String, Object >)context.getSession();
session.put("myCurRecordList", myCurRecordList);

debug模式下我已经确认后台查到的myCurRecordList被放入了session范围里,但是在前台就是取不出来,困扰了很久还是没有解决,麻烦各位帮我看看,谢谢啦!
HTML code
<form action="searchMyCurRecord.action" method="post">       <table align="center">       <input align="center" type="submit" value="查看借书情况"/>                      <%     if(session.getAttribute("myCurRecordList")==null);    else{        out.println("<caption><h4>当前借书情况</h4> </caption>");        out.println("<tr>");        out.println("<th>书名</th>");        out.println("<th>图书编号</th>");        out.println("<th>借书日期</th>");        out.println("</tr>");        out.println("<s:iterator value=\"#session.myCurRecordList\" id=\"myCurRecordList\" status=\"st\">");        out.println("<tr>");        out.println("<td>${myCurRecordList.RBname }</td>");        out.println("<td>${myCurRecordList.RBid }</td>");        out.println("<td>${myCurRecordList.ROut }</td>");        out.println("</tr>");        out.println("</s:iterator> ");    }%>                           </table>              </form>


------解决方案--------------------
Java code
搞不懂你页面中为什么要这么去输出 out.println("<caption><h4>当前借书情况</h4> </caption>");        out.println("<tr>");        out.println("<th>书名</th>");        out.println("<th>图书编号</th>");        out.println("<th>借书日期</th>");        out.println("</tr>");        out.println("<s:iterator value=\"#session.myCurRecordList\" id=\"myCurRecordList\" status=\"st\">");        out.println("<tr>");        out.println("<td>${myCurRecordList.RBname }</td>");  <color>// 既然都用了strust2了标签了为什么这里要用el表达式</color>        out.println("<td>${myCurRecordList.RBid }</td>");        out.println("<td>${myCurRecordList.ROut }</td>");        out.println("</tr>");        out.println("</s:iterator> ");反正都是在页面上。。。改成这样吧 1. Map<String, Object > session=(Map<String, Object >)context.getSession(); 将object改为你的对象,不然页面上用标签循环的时候,无法识别具体对象,所以无法直接输出属性2. <caption><h4>当前借书情况</h4></caption><tr>        <th>书名</th>    <th>图书编号</th><th>借书日期</th></tr><s:iterator value="#session.myCurRecordList" id="myCurRecordList" status="st">    <tr>        <td><s:property value='RBname' /></td>         <td><s:property value='RBid' /></td>        <td><s:property value='ROut' />/td>    </tr></s:iterator>
------解决方案--------------------
1. <s:iterator value=\"#session.myCurRecordList\" id=\"myCurRecordList\" status=\"st\"> 这里面的斜杠是干嘛的?
  相关解决方案