一尘不染

如何在Struts 2中将值插入Set集合

jsp

我正在使用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在by中将此集合中插入正确的值ModelDriven,它将抛出异常。您能否告诉我在JSP文件中写入什么内容,以便可以Set在模型中插入一个要收集的值?


阅读 193

收藏
2020-06-08

共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>

有关此内容的更多信息,请参见按该集合的属性对集合进行索引

2020-06-08