我正在使用Struts2。我的pojo中有一个hashset。我正在尝试向hashset提交值。我无法将我的收藏类型更改为列表。
这里是pojo
Item{
Set<Person> personCollection;
long itemCode;
public void setItemCode(long itemCode)
{
this.itemCode=itemCode;
}
public long getitemCode()
{
return itemCode;
}
public void setPersonCollection(Set<Person>personCollection)
{
this.personCollection=personCollection;
}
public Set<Person> getPersonCollection()
{
return personCollection;
}
}
Person{
String name;
public void setName(String name)
{
this.name=name;
}
public String getName()
{
return name;
}
}
动作
SubmitItemAction
{
private Item item;
public getItem()
{
return item;
}
public setItem(Item item)
{
this.item=item;
}
public String submitItem()
{
dao.submit(item);
}
}
JSP
<s:text name=item.personCollection[0].name/>
<s:text name=item.personCollection[1].name/>
所以这不起作用。当我用上面的代码片段提交我的jsp时,它会出错,它无法从Item填充personCollection。
那么jsp中的命名约定应该是什么。就像personCollection一直是一个列表我可以使用item.personCollection[0].someProperty
。但是如何为类型集的集合设置名称。
答案 0 :(得分:2)
在您的提交操作中使用该列表,然后您可以在带有索引的jsp中使用此列表。
您无法在此处使用set,因为无法使用索引
访问set在您的业务逻辑中,将列表转换为集合,您可能需要为进一步的orm设置。