logic:iterate id="info" name="pinfo" > 里面的pinfo是从action传过来的, 你直接进页面, 当然没有值啦
解决方案 »
- 过滤器中调用service层中的方法
- 多语言网站 大家都怎么处理???
- 问下定义一个数组定义2种类型该怎么定义?
- #spring+webwork+freemarker做了个聊天室 附源码下载
- 如何读取数据库里的数据并在JTable表格中显示出来。
- 我生成了一个doucement对象,如何用SAX解析?
- 问一个弱弱的问题
- j2EE tutorial中运行客户端怎么不行啊
- 怎么才能学好java语言,有什么好的建议吗?我学了有一段时间了,总觉得还是不入门,向各位java高手请教,来者有分,谢谢
- 文本框获取焦点时弹出提示信息,点击提示信息可以关掉,但如何再让文本框获取到焦点呢
- 怎样在Struts的ApplicationResources.properties文件中输入中文!
- 如果把一个hibernate+spring+struts的程序从tomcat转移到Resin上,需要做哪些修改呢?
request改成session
List list = new ArrayList();
添加上getter setter 方法
然后再Action里面使用form.setList(list);,这样应该就可以了
当然取不到值了 改成这样试试
<logic:iterate id="info" name="pinfo" scope="request">
${info.pid}
${info.pname}
</logic:iterate>
我在http://localhost/pinfo/pinfo.do里能正确显示我想要的数据。但是一旦输入http://.../index.jsp就出现问题了。提示是:
直接进页面.没有经过action pinfo没有设进去.所以拿不到值.
但是经过.do后.是有值的.
Pinfo pf = new Pinfo();//这是用get,set设计的一个javabean
Pdata pd = new Pdata();//这是包含连接和一个getlist();方法,给Pinfo赋值的
List list = pd.getList();
list.add(pf);
System.out.println(pd.getList().size());
HttpSession session = request.getSession();//是这样吗?
session.setAttribute("pinfo",list);
return (mapping.findForward("success"));//success是指向index.jsp的。
是这样吗?index.jsp页面还是和我之前发布的一样,不用改?
不过
Pinfo pf = new Pinfo();
Pdata pd = new Pdata();
List list = pd.getList();
list.add(pf);
你pf是new出来的对象 没有对他的属性赋值
当然在页面上取属性是的是取不到了
1.
<logic:iterate id="info" name="pinfo" >
<tr>
<td>
<bean:write name="info" property="pid" />
</td>
<td>
<bean:write name="info" property="pname" />
</td>
</tr>
</logic:iterate>
你这样也无非就是想要得到值,为什么不用jstl里面的
<c:forEach items="pinfo" var="p_info" >
${p_info.pid}
${p_info.pname}
</c:forEach>吶(我经常用,我觉得挺好的)以上纯属个人偏见,既然你在ACTION里面已经request.setAttribute("pinfo",list); 了,那么通过这样的方法取值是一个不错的想法。2.
还有一种就是<bean:write>标签里面好像还有一个 format 的属性,你给设置为一下看看。
Pinfo pf = new Pinfo();
Pdata pd = new Pdata();
List list = pd.getList();
list.add(pf); pf 是new出来的。里面没值的..你还要有个过程拿到数据库的值,然后塞到 pf里面
然后再list.add(pf)
Struts的所有动作是在action里面进行的,所以你要经过action才可以进行操作
如果你不想经过action。那就在JSP里面写代码咯!