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赋值的主要内容,如果未能解决你的问题,请参考以下文章

jsp页面通过使用s标签获取值栈中的值(初识)

struts2入门之OGNL

struts2什么情况用#和EL表达示

struts2值栈分析

SSH 结构中 不同角色登录,显示不同的菜单

jsp页面通过Action里的对象.属性传值 为啥没有穿过去