2012-05-24 3 views
2

Struts2를 사용하고 있습니다. 내 pojo에 해시 세트가있다. 해시 셋에 값을 제출하려고합니다. 내 컬렉션 유형을 나열하도록 변경할 수있는 방법이 없습니다. 여기struts2의 해시 설정 값을 설정하십시오.

는 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

무엇이 당신의 질문입니까? – mprabhat

+0

자세한 설명이 필요합니다. –

+0

가 – kunal

답변

2

제출 작업에서 목록을 사용하면 jsp에서 index와 함께이 목록을 사용할 수 있습니다.

세트는 당신이 더 ORM 설정 필요할 수도로 설정에 목록을 변환 비즈니스 로직에서

인덱스

를 사용하여 액세스 할 수 없기 때문에 당신은 여기에서 설정 사용할 수 없습니다.

+0

이 시간대는 괜찮아 보입니다. 하지만 좀 더 일반적인 솔루션을 찾고 있습니다. POJO를 사용하는 세트의 인스턴스가 여러 개있을 수 있습니다. 답장을 보내 주셔서 감사합니다. – kunal

+0

당신이 맞습니다. 스트럿츠의 iterator 태그를 사용해보십시오. 개인적으로 나는 그렇게하지 못했고 장소의 두 곳에서만 이것을 필요로했습니다. 성공하면 답변을 업데이트하십시오. –

+0

jsp에서 iterator 태그를 사용하고 있습니다. 확실히 더 나은 해결책이 나오면 나는 그 글을 업데이트 할 것이다. – kunal

관련 문제