2011-07-05 3 views
1

アイテムの選択元からBeanのプロパティが変更されない場合、状況に直面します。メソッドsetCurrentOrg()は呼び出されません。 マネージドBeanコードです:<h:selectOneMenu>からアイテムを選択するとbeanのプロパティが変更されません

@ManagedBean(name = "requestAccessBean") 
@RequestScoped 
public class RequestAccessSection { 
private List<AccessRight> accessList; 
private List<OrgUnit> orgList; 
private String currentOrg; 

public String getCurrentOrg() { 
return this.currentOrg; 
} 

public void setCurrentOrg(String currentOrg) { 
this.currentOrg = currentOrg; 
} 

public List<AccessRight> getAccessList() { 
if (this.accessList == null) { 
    this.accessList = returnAccessList(); 
} 
return this.accessList;  
} 

public void setAccessList(List<AccessRight> accessList) { 
    this.accessList = accessList; 
} 

public List<OrgUnit> getOrgList() { 
    if (this.orgList == null) { 
    this.orgList = returnOrgList(); 
    } 
return this.orgList; 
} 

public void setOrgList(List<OrgUnit> orgList) { 
    this.orgList = orgList; 
} 

public List<OrgUnit> returnOrgList() { 
List<OrgUnit> orgList = new ArrayList<OrgUnit>(); 
orgList = getOfficeBranches(); 
return orgList; 
} 

public List<AccessRight> returnAccessList() { 
    List<AccessRight> accessList = new ArrayList<AccessRight>(); 
    accessList = getAccessList(); 
    return accessList; 
} 

} 

ページは次のとおりです。

<h:form> 
    <h:selectOneMenu id="orgList" value="# {requestAccessBean.currentOrg}"> 
    <f:selectItem itemLabel="--select--" itemValue="null"></f:selectItem> 
     <f:selectItems value="#{requestAccessBean.orgList}" 
       var="org" itemLabel="#{org.ou}" itemValue="#{org.globalid}"/> 
    <f:ajax event="change" execute="@this" render="accessTable"/> 
</h:selectOneMenu> 

<h:dataTable var="access" value="#{requestAccessBean.accessList}" 
      binding="#{requestAccessBean.htmlDataTable}" id="accessTable"> 
    <h:column> 
     <h:selectOneRadio onclick="radioButton(this);" id="selectAccess" 
       valueChangeListener="#{requestAccessBean.setSelected}"> 
      <f:selectItem itemValue="null" /> 
     </h:selectOneRadio> 
    </h:column> 
    <h:column> 
     <h:outputText value="#{access.title}" /> 
    </h:column> 
</h:dataTable> 
<h:form> 

あなたは私を助けていただけますか?

答えて

2
<h:selectOneMenu id="orgList" value="# {requestAccessBean.currentOrg}"> 

これは無効です。 #{の間にスペースがあります。それを除く。

<h:selectOneMenu id="orgList" value="#{requestAccessBean.currentOrg}"> 
関連する問題