问一下struts里关于request.setAttribute的一个菜鸟问题
我在action bean里调用了一个自己创建的service实体类,然后在该类中得到一个arraylist,并用request.setAttribute( "testresults ",resultList)把它放到request中.
在jsp页面上可以用 <%=request.getAttribute( "testresults ")%> 显示出
[cn.com.DAOC.basedata.test.TestService@1e4e3e4, cn.com.DAOC.basedata.test.TestService@2dce4e, cn.com.DAOC.basedata.test.TestService@14382c6]
使用 <bean:size id= "size " name= "testresults " scope= "request "/> 也可以得到结果集是3条数据
在 <logic:iterate id= "result " name= "testresults " scope= "request "> 也可以知道是3行数据
但是如果使用 <bean:write name= "TestService " property= "tname " scope= "request "/> 读取数据,就报出错误
javax.servlet.ServletException: Cannot find bean TestService in scope request
请问一下该如何解决
------解决方案--------------------沙发?
------解决方案--------------------你如果想循环打印数据的话应该:
<logic:iterate id= "result " name= "testresults " scope= "request ">
<bean:write name= "result " property= "tname " >
</logic:iterate>
------解决方案--------------------回楼上,如果是要循环输出的话,那么bean:write 的name应该是要与logic:iterate的id一致。
如果scope为空的话,默认是从request里面取的