struts2标签中在jsp页面如何给值栈中的list和map赋值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts2标签中在jsp页面如何给值栈中的list和map赋值相关的知识,希望对你有一定的参考价值。
例如jsp页面有个input标签name=u.name,值栈中有个user的对象u,提供了set,get这样就可以直接给u的name给附上值,如果值栈中是一个List<user> list对象,该如何做呢,如果值栈中有一个Map<String,String> map对象,在jsp页面该如何写才能直接付上值直接用呢
当栈中是集合时就要遍历该集合使用EL表达式遍历或者java带的标签库遍历如
$集合中对象的属性名或给定的key值/<s:property >
</s:iterator>
都可以
追问哎。。你也不了解我的意思,我是说从jsp页面给action中的list或Map赋值,而不是action中的list转到jsp页面
参考技术A 1. <form action=""><input name="users[0].name" value="张三"/> //同一个对象的users[0] 中[ ]数字一样
<input name="users[0].name" value="10"/>
<input name="users[0].sex" value="1"/>
<input name="users[1].name" value="王五"/>
<input name="users[1].name" value="100"/>
<input name="users[1].sex" value="0"/>
.....
</form>
private List<User> users; //自动封装为 User对象的集合 users 与jsp中的users[0]对应
2.Map好像要用struts2的自定义类型转换,以前用过。现在忘了;本回答被提问者采纳 参考技术B http://jeelee.iteye.com/blog/531567
这里写得很详细,你仔细看看,很全面追问
不是的,你说的那是action向jsp页面请求,我说的是jsp页面向action请求
在action中将字符串对象list集合保存到值栈中,在jsp页面中获取的方法
转自:csdn
封装对象User,属性有id,username,email等
1.1:在action中将字符串保存到值栈中
1.1.1 获取值栈对象
ValueStack stack = ActionContext.getContext().getValueStack();
1.1.2 将字符串保存到值栈中
stack.set("username","leo");
1.2:在jsp页面中获取值栈中的字符串
1.2.1 <s:property value="username"/>
2.1:在action中将对象保存到值栈中
2.1.1 获取值栈对象
ValueStack stack = ActionContext.getContext().getValueStack();
2.1.2 将对象保存到值栈中
stack.set("user",user);
2.2:在jsp页面中获取值栈中保存的对象
2.2.1 <s:property value="user.username" />
3.1:在action中将集合List保存到值栈中
3.1.1 获取值栈对象
ValueStack stack = ActionContext.getContext().getValueStack();
3.1.2 将对象保存到值栈中
stack.set("userList",list);
3.2:在jsp页面中获取值栈中保存的集合
3.2.1 <s:iterator value="userList">
<s:property value="id"/>
<s:property value="username"/>
</s:iterator>
3.2.1 <s:iterator value="userList" var="user">
<s:property value="#user.id"/>
<s:property value="#user.username"/>
</s:iterator>
以上是关于struts2标签中在jsp页面如何给值栈中的list和map赋值的主要内容,如果未能解决你的问题,请参考以下文章