action代码:
public String a(){
List list = proDao.getAllPro();
// for(int i=0;i<list.size();i++){
// Pro pro=(Pro)list.get(i)
// System.out.print(pro.name);
// }
HttpServletRequest request=ServletActionContext.getRequest();
request.setAttribute("list", list);
return "index";
}
页面代码:
编号 | 名称 | 价钱 | 购买 |
购买 |
list里面测试过。。有数据。。就是放到REQUEST里,到页面取数据取不到。。不知道是为什么。。像大家求解。
本人是新手。。没多少积分。。以后积分多了定会大大给你们。。谢谢
这么不清楚,晕了,上格式
[code="java"]
购买
/s:iterator[/code]
list 写了set和get方法?
[quote]
购买
/s:iterator [/quote]
添加 ,看看能不能输出list中的值。
asgab 的意思是!!
你可以将[quote] request.setAttribute("list", list); [/quote]换成如下的方法:
public List getList()
{
return list;
}
public void setList(List list)
{
this.list = list
}
页面修改为[quote]
购买
/s:iterator
[/quote]
result type 类型是否 "dispatcher"
换成
Pro 是否提供了 get,set 函数
是这个的
购买
/s:iterator
换成
购买
/s:iterator
list中的大小写敏感,输出list ,看看是不是 有没有属性name id price 呀!!
需要来获取list中的属性值。
你用了就知道了,status="pro"是迭代的状态,
要用也是
[code="jsp"]
[/code]
status是循环的索引,#pro.index,#pro.count等一些值
实际上是在s:iterator里面是可以省略的,直接可以获取到迭代的集合里面的值
所以你在struts2 action里面写反射属性时要避免在s:iterator迭代里的重复。
如:
[code="java"]XXX_Action{
List list;//people里面有name属性,
//就不要在action里面定义name的反射private 属性了
private String name;
//省略setXXX,getXXX
}[/code]在jsp里面
[code="java"]
//永远是list里面的name,去不到private String name[/code]