提问人:DDas 提问时间:10/3/2013 最后编辑:Roman CDDas 更新时间:4/5/2014 访问量:2566
如何在我的操作中从JSP获取更新的列表值?
How to get updated list values from JSP in my action?
问:
我有一个JSP,我正在其中遍历一个列表并创建一个可编辑的表。
<s:iterator value="test" id="countryList">
<tr>
<td><s:textfield name="countryCode" value="%{countryCode}" theme="simple" /></td>
<td><s:textfield name="countryName" value="%{countryName}" theme="simple" /></td>
</tr>
</s:iterator>
我的清单:
List<Country> test = new ArrayList<Country>();
国家级:
public class Country {
private String countryCode;
private String countryName;
and the getter setters......
并说我填充列表,如下所示:
Country country = new Country();
Country country1 = new Country();
country.setCountryCode("1");
country.setCountryName("India");
country1.setCountryCode("2");
country1.setCountryName("US");
test.add(country);
test.add(country1);
现在,当我在 JSP 中更改 和 的值时,我应该在我的操作中获取更新的值。但是我不能。有没有办法获得这些更新的值。countrycode
countryname
答:
2赞
Roman C
10/3/2013
#1
当侦听器使用索引属性访问填充列表时,需要创建对象。Country
params
<s:iterator value="test" id="countryList" status="stat">
<tr>
<td><s:textfield name="countryList[%{#stat.index}].countryCode" value="%{countryCode}" theme="simple" /></td>
<td><s:textfield name="countryList[%{#stat.index}].countryName" value="%{countryName}" theme="simple" /></td>
</tr>
</s:iterator>
要让支柱填充列表,您应该在 xml 配置中使用类型转换注释或等效项。
@Element(value = Country.class)
@Key(value = String.class)
@KeyProperty(value = "countryCode")
@CreateIfNull(value = true)
private List<Country> countryList = new ArrayList<Country>;
评论
1赞
DDas
10/3/2013
它有效!!谢谢罗马人...多谢。。。挽救了我的一天。学习是一件好事
0赞
Roman C
10/3/2013
太好了,现在您必须编写代码来比较列表和更新值。但是您没有保存 previuos 列表,如果您不介意在操作中对值进行硬编码,则需要再次获取它。最好将其放在会话中,因为每次发出请求时都会重新创建操作。
评论