刚刚开始用struts2,在前台实现了一个能增删改的Table,就是点击Add按钮就会增加一行,然后输入值的那种,起初在Action类里是用request方法一个一个get得到值,后来leader不满意,要我做成一行对应一个BO,然后把BO放进一个List里,在Action通过拿到这个List便可以一次拿到所有增加的行值,第一次用struts2,糊糊涂涂的,甚至想过去改写拦截器,找了不少资料后发现,其实也没那么复杂的.这是我找来的一个例子。
Struts2中支持使用List在页面和Action之间直接传递表格数据。下面是一个示例:
public class Person {
int id;
String name;
int age;
float height;
}
这是一个POJO,getter和setting省略了。
action中可以这样使用:
public class MyAction {
public List getPeopleList() { … }
public void setPeopleList( List peopleList ) { … }
…
}
在我们使用Person类之前,需要添加一个配置文件,MyAction-conversion.properties,把这个文件和MyAction放在一起。
这个文件里只有一行内容:
Element_peopleList=Person
前缀Element_是一个常量,表明等号左边的表达式中跟在这个常量后面的是Action类中一个List类型的字段名。
等号右边的表达式是全类名(包含package)
下面是一个页面的代码片段:
<s:form action="update" method="post" >
<s:iterator value="peopleList" status="stat">
<s:hidden
name="peopleList[%{#stat.index}].id"
value="%{peopleList[#stat.index].id}"/>
<s:textfield label="Name"
name="peopleList[%{#stat.index}].name"
value="%{peopleList[#stat.index].name}"/>
<s:textfield label="Age"
name="peopleList[%{#stat.index}].age"
value="%{peopleList[#stat.index].age}" />
<s:textfield label="Height"
name="peopleList[%{#stat.index}].height"
value="%{peopleList[#stat.index].height}"/>
<br/>
s:iterator>
<s:submit value="Update"/>
s:form>
使用这段代码,Struts2会创建一个Person类的ArrayList,并且用setPersonList这个方法把页面表格中的值传递回Action。
如果你是想从用户界面中动态创建列表值,需要允许Struts2给列表中类的实例。那么在配置文件MyAction-conversion.properties中添加一行:
CreateIfNull_peopleList = true
呵呵...共勉啊...
分享到:
相关推荐
Struts2 创建简单步骤 使用
struts2迭代 Map List
struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别...
struts 1框架的动态调用也许你会,但是struts2 的动态调用更经典,这个文档让你玩转struts 2 动态调用.......
把数据库表中的每一行数据封装成一个对象,用一个返回类型为List的方法返回这些对象,接着在Struts2的action里面定义一个List属性,用这个List来接收从数据库中查询出来并进行了封装的那些对象,然后通过Struts2的...
NULL 博文链接:https://takeme.iteye.com/blog/1631525
利用Struts 2框架创建一个web项目chap2_e22,实现用户登录过程。具体要求是在loginAction类中分别用login()和registered()处理用户登录和注册的过程,分别创建login.jsp和register.jsp两个页面实现登录和注册的...
struts2取到页面的值
Struts2 实战 Struts 2 in Action
Struts2 实现动态树 结合Hebernate
struts2表单校验,可单独一行显示
Struts2动态方法调用 包括 1.js方法调用 2.普通的表单提交调用 3.通配符
struts2的概述struts2下的HelloWord struts2基础 struts2做好准备 struts2的标志 struts2的Action讲解 struts2中的国际化 struts2转化器 struts2实现表单数据校验 struts2的基石-拦截器 struts2中实现IOC struts2中...
目前已有大量的企业项目采用Struts2来作为Web框架进行开发,掌握Struts2是每个进行Web开发的Java程序员的一项必备技能。 本视频对Struts2的庞杂技术点进行抽丝剥茧,提炼出企业开发必备的核心技术点和重要技能。视频...
Struts2+ajax+json返回list,并处理json返回为[object,object]的方法,Struts2配置
Struts2动态树型从数据库取出 Struts2动态树形 其中包括 后台代码 和前台页面部分代码
创建自己struts2拦截器,手工创建自己的拦截器实现
struts2-core-2.0.1.jar, struts2-core-2.0.11.1.jar, struts2-core-2.0.11.2.jar, struts2-core-2.0.11.jar, struts2-core-2.0.12.jar, struts2-core-2.0.14.jar, struts2-core-2.0.5.jar, struts2-core-2.0.6.jar,...
可对struts2 标签如等相应列进行求和.
Struts2Hibernate整合jar包,直接放进工程里用就可以了,不少东西