如何在Struts 2中的Set集合中插入一个值

时间:2014-06-12 13:46:33

标签: java jsp struts2 type-conversion ognl

我正在使用Struts2做一个项目,我在分配集合时遇到了问题。

这是我的行动(我删除了无关的部分)

public class TeamAction extends BaseAction implements ModelDriven<Team>
{
 Team team=new Team();

}

这是我的模型Team(我删除了无关的部分)

private TeamId id;
private Set students = new HashSet(0);

这是我的JSP部分

<input type="text" name=team.student[0].id />

现在问题是我无法通过Set将正确的值插入此ModelDriven集合中,它会抛出异常。你能告诉我在JSP文件中写什么,所以我可以在我的模型中向Set集合插入一个值吗?

1 个答案:

答案 0 :(得分:1)

SetCollection,并且任何其他集合都可以由属性编入索引。

@Element(value = Student.class)
@Key(value = Integer.class)
@KeyProperty(value = "id") 
@CreateIfNull(value = true)
private Set<Student> students = new HashSet(0);
//getter and setter, also for Student class that should have Integer id.
JSP中的

<s:iterator value="students " var="student">
  <s:textfield name="students(%{#student.id}).name" />
</s:iterator>

有关此内容的更多信息,请参阅Indexing a collection by a property of that collection