struts2 的action中有get set方法 但 jsp 取不到值

qiu00000000000 2013-07-15 09:18:52
------- action 中 有get set方法 myeclipse自动生成 方法名没错

private List<User> userList;
private String aa;

public String execute() {
List<User> users = new ArrayList<User>();
User user1 = new User();
User user2 = new User();
user1.setUserID(1);
user1.setUserName("lpc");
user2.setUserID(2);
user2.setUserName("ham");
users.add(user1);
users.add(user2);
this.userList = users;
this.aa = "sssssss";

return "success";
}
-------- jsp 中 有引入 标签
<s:iterator value="UserList" id="user">
<s:property value="userName"/> 没值
<s:property value="aa"/> 没值
</s:iterator>
----- 有试过 ${user.userName} 也取不到
...全文
511 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_33101009 2015-12-29
  • 打赏
  • 举报
回复
楼主是傻X,自己写错,2年后回来还没发觉!!!16楼叫你看ognl表达式,你看了么?
天门汐沐 2015-12-29
  • 打赏
  • 举报
回复
然而两年多过去了,仍然没有找到问题所在
ZHOU西口 2013-07-15
  • 打赏
  • 举报
回复
可以在action中先存到request里面,比如名称为mylist,然后在页面标签中用#mylist获取
XX的小石头 2013-07-15
  • 打赏
  • 举报
回复
在页面用debug标签看看值栈里面有没有值
  • 打赏
  • 举报
回复
this.userList = users;问题可能出现在这,成员变量你改成private List<User> userList = new ArrayList<User>();然后直接add进去。。。。。。你试一下,代码不全,我只能想到这个可能。。。。。。。
  • 打赏
  • 举报
回复
引用 8 楼 ljc19901124 的回复:
<s:iterator value="#userList" /> 加上#号试试
加#是取session中的值。。。。。。
Abin0406 2013-07-15
  • 打赏
  • 举报
回复
userList有get、set方法吗?
爱T 2013-07-15
  • 打赏
  • 举报
回复
你的这个list也要在action里生成get方法
爱T 2013-07-15
  • 打赏
  • 举报
回复
<s:iterator value="#userList" /> 加上#号试试
qiu00000000000 2013-07-15
  • 打赏
  • 举报
回复
引用 6 楼 fangmingshijie 的回复:
private List<User> userList; private String aa; public String execute() { List<User> users = new ArrayList<User>(); User user1 = new User(); User user2 = new User(); user1.setUserID(1); user1.setUserName("lpc"); user2.setUserID(2); user2.setUserName("ham"); users.add(user1); users.add(user2); this.userList = users; this.aa = "sssssss"; 你这写的蛋疼不?重新定义一个users干嘛呀
这个不是重点好吧!!
  • 打赏
  • 举报
回复
private List<User> userList; private String aa; public String execute() { List<User> users = new ArrayList<User>(); User user1 = new User(); User user2 = new User(); user1.setUserID(1); user1.setUserName("lpc"); user2.setUserID(2); user2.setUserName("ham"); users.add(user1); users.add(user2); this.userList = users; this.aa = "sssssss"; 你这写的蛋疼不?重新定义一个users干嘛呀
qiu00000000000 2013-07-15
  • 打赏
  • 举报
回复
引用 2 楼 u011011528 的回复:
u 是应该需要小写吧
引用 1 楼 fangmingshijie 的回复:
value="UserList" U是不是应该小写
不好意思 帖子上的写错了 是要小写 但是取不到值 但页面是有跳转的 在页面上随便写东西都可以展现 就是取不到action中的值 连aa的都没有
qiu00000000000 2013-07-15
  • 打赏
  • 举报
回复
引用 1 楼 fangmingshijie 的回复:
value="UserList" U是不是应该小写
不好意思 帖子上的写错了 是要小写 但是取不到值 但页面是有跳转的 在页面上随便写东西都可以展现 就是取不到action中的值 连aa的都没有
qiu00000000000 2013-07-15
  • 打赏
  • 举报
回复
不好意思 帖子上的写错了 是要小写 但是取不到值 但页面是有跳转的 在页面上随便写东西都可以展现 就是取不到action中的值
u011011528 2013-07-15
  • 打赏
  • 举报
回复
u 是应该需要小写吧
引用 1 楼 fangmingshijie 的回复:
value="UserList" U是不是应该小写
  • 打赏
  • 举报
回复
value="UserList" U是不是应该小写
terrylmay 2013-07-15
  • 打赏
  • 举报
回复
你们确定是写错方法的问题么?如果不把userlist写入上下文,在客户端能访问到?
坚持2012 2013-07-15
  • 打赏
  • 举报
回复
this.userList = users;既然定义了属性直接userList=users;就好了,我是从来没这样写过,改了试试吧,还有页面取值,正确就应该这样: <s:iterator value="userList" id="user"> <s:property value="#user.userName"/>或者${user.userName} <s:property value="aa"/> </s:iterator> id属性和val属性是有区别的,好好看看ognl表达式
桃园闲人 2013-07-15
  • 打赏
  • 举报
回复
引用 6 楼 fangmingshijie 的回复:
private List<User> userList; private String aa; public String execute() { List<User> users = new ArrayList<User>(); User user1 = new User(); User user2 = new User(); user1.setUserID(1); user1.setUserName("lpc"); user2.setUserID(2); user2.setUserName("ham"); users.add(user1); users.add(user2); this.userList = users; this.aa = "sssssss"; 你这写的蛋疼不?重新定义一个users干嘛呀
就是这个问题呀,你没有将数据放到request中,只能通过action中的属性users(要有get方法)将数据传给jsp,可是你虽然申明了users属性,但在execute方法中又重新申明了一次,这样属性users就无法在execute方法中使用了,值也就不能传递给jsp了。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧