我正在使用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
集合插入一个值吗?
答案 0 :(得分:1)
Set
是Collection
,并且任何其他集合都可以由属性编入索引。
@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。