您的位置:首页 > 编程语言 > Java开发

struts2,jsp页面向action提交list对象

2009-10-14 21:22 429 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐