Struts 2列表参数传递

时间:2010-10-26 15:09:44

标签: list jsp struts2 integer

如何在Struts 2中使用s:a href和param标记传递整数列表?

示例POJO:

private List<Integer> myList = new ArrayList<Integer>();

public List<Integer> getMyList() {
    return myList;
}

public void setMyList(List<Integer> myList) {
    this.myList = myList;
}

示例JSP页面:

<s:url id="testUrl" action="testAction">
   <s:param name="myList" value="%{myList}" />
</s:url>
<s:a href="%{testUrl}">Test Link</s:a>

当我点击“测试链接”时,表单会为myList提交以下内容:

[1,+ 2,+ 3,+ 4,+ 5]

这导致Struts重定向到“输入”页面。这不是理想的行为。有没有人对如何使用Struts标签正确传递整数列表有任何建议?

1 个答案:

答案 0 :(得分:0)

如果我没记错的话,param标签会调用列表中的toString将参数放在URL中。因此,应该获取列表的操作只会获得一个字符串。

下一个动作的setter需要接受一个字符串,在这个setter中你可以拆分字符串,提取数字并用它填充一个新的列表。