2012-08-02 1 views
0

userDamain 개체의 목록에서 일부 체크 상자의 값을 업데이트 할 수없는 jsf 페이지가 있습니다. 실제로이 부분의 일부입니다. 내 JSF 페이지 : 내가 부울 버튼을 userr.deletee의 값은 항상 (기본값) 거짓이고, 어쨌든 업데이트 아니에요, '제출'을 클릭하면JSF - PrimeFaces, 목록에서 booleanCheckbox/booleanButton의 값을 얻는 방법

<h:outputText value="USER's rights list: "></h:outputText> 
    <p:dataTable id="userss" var="userr" value="#{userMB.userListe}"> 

     <p:column> 
      <f:facet name="header"><h:outputText value="FirstName" /></f:facet>      
      <h:outputText value="#{userr.firstName}" />      
    </p:column> 


    <p:column> 
     <h:panelGrid columns="1" style="margin-bottom:10px" cellpadding="5"> 
       <h:outputText value="Basic Usage: " /> 
       <p:selectBooleanCheckbox value="#{userr.deletee}" immediate="true" actionListener="#{userr.deletee}" />  
      </h:panelGrid> 

      <p:commandButton value="Submit" update="display" oncomplete="dlg.show()" /> 
      <p:dialog header="Selected Values" modal="true" showEffect="fade" hideEffect="fade" widgetVar="dlg"> 
       <h:panelGrid columns="1" id="display"> 
        <h:outputText value="Value 1: #{userr.deletee}" /> 
       </h:panelGrid> 
      </p:dialog>  


    </p:column> 

, 난 리스너 비와의 actionListener에서 사용하려고 booleanButton하지만 작동하지 않습니다. 또한 postValidate 이벤트를 시도 했으므로 다른 사람이 그 생각을 가지고 있다면 나는 우아 할 것입니다.

private List<UserDomain> userListe ; 


    public List<UserDomain> getUserListe() { 
     return this.userListe; 
    } 

    public void loadUserListe(){ 
     this.userListe = new ArrayList<UserDomain>(); 
     this.userListe.addAll(getUserServicee().getAll()); 
    } 


    public void setUserListe(List<UserDomain> userListe) { 
     this.userListe = userListe; 
    } 

USERDOMAIN 콩의 일부 : 내가 나에게 논리를 보이는 해결책을 발견

... 
public String getFirstName() { 
     return firstName; 
    } 

    public void setFirstName(String firstName) { 
     this.firstName = firstName; 
    } 
@Transient 
    private boolean deletee; 

    public boolean isDeletee() { 
     return deletee; 
    } 

    public void setDeletee(boolean deletee) { 
     this.deletee = deletee; 
    } 

답변

0

, 내 체크 박스에 추가

내 관리 빈의 일부입니다 이 메서드에서 호출하여 전체 userDomain 객체를 가져 오는 메서드 및 특성을 실행하는 아약스 동작은

에 대해 여기에서 user.deletee 값을 얻을 수 있습니다.
<h:panelGrid columns="1" style="margin-bottom:10px" cellpadding="5"> 
        <h:outputText value="Delete Right: " /> 

        <p:selectBooleanCheckbox value="#{userr.deletee}"> 
         <f:ajax execute="@this" listener="#{userMB.saveUserRights}" /> 
         <f:attribute name="user" value="#{userr}" /> 
        </p:selectBooleanCheckbox> 

       </h:panelGrid> 

이 정보가 도움이되기를 바랍니다.

관련 문제