2012-09-23 2 views
2

이터레이터 내부에 체크 박스를 생성 중입니다. 아래 코드는Struts2 체크 박스가 미리 선택됨

<s:iterator value="contacts" var="contact"> 
    <tr> 
     <td> 
     <s:checkbox name="selectContactsCheckBox" fieldValue="%{#contact.contactid}" value="%{defaultContacts.contains(contact.contactid)}" theme="simple"/> 
     </td> 
     <td>${contact.fullname}</td> 
     <td>${contact.mobile}</td> 
     <td>${contact.organization}</td> 
     <td>${contact.department}</td> 
    </tr> 
</s:iterator> 

입니다.이 코드는 checkbox를 생성하고 올바르게 동작합니다. 하지만 나는 액션에서 콜렉션을 사용하여이 체크 박스를 미리 선택하고 싶다. 내가 목록에 100 접촉을하고 getDefaultConatacs()가 불과 5 문자열을 반환하는 경우 다음 내가 그 5 확인란을 선택하려면 아래

내 액션 CALSS에서하는 방법,

public List<String> getDefaultContacts() { 
    return Arrays.asList(this.selectedContacts); 
} 

가정이다 U

+1

문제가 해결되었습니다. 체크 박스 명 = "selectContactsCheckBox"fieldValue의 = "% {contactId를}"값 = "% {defaultContacts에 contactId를}」주제 ="단순 "나는 \t \t \t \t \t \t \t user1346316

답변

2

아래 라인을 사용하는 경우 (값 속성은 contactid가 목록에서 사용 가능한지 확인)

<s:checkbox name="selectContactsCheckBox" 
      fieldValue="%{contactid}" 
      value="%{contactid in defaultContacts}" 
      theme="simple"> 
</s:checkbox> 
관련 문제