在struts2中设置hashset的值

时间:2012-05-24 04:40:30

标签: java struts2 ognl

我正在使用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。但是如何为类型集的集合设置名称。

1 个答案:

答案 0 :(得分:2)

在您的提交操作中使用该列表,然后您可以在带有索引的jsp中使用此列表。

您无法在此处使用set,因为无法使用索引

访问set

在您的业务逻辑中,将列表转换为集合,您可能需要为进一步的orm设置。