2012-06-29 23 views
2

我的問題是,下面的代碼返回null,但如果我看調試源,然後submitValue有正確的日期。AjaxBehaviorEvent primefaces3

的Java:

public void changeOneMenuP(AjaxBehaviorEvent event) { 
     String id = (String) event.getComponent().getAttributes().get("value"); 
     if(id != null) { 
      listEntity = escDao.findByxxxx(id, true); 
     } 
} 

XHTML:

<h:selectOneMenu id="idSelect" immediate="true" style="width:120px" value="#EntityBB.idUni}" label="#{bundleComunes.unidad}"> 
              <f:selectItem itemLabel="#{bundleComunes.seleccionar}..." itemValue="" /> 
              <f:selectItems value="#{configuracionBB.listEntity}" var="lUni" itemValue="#lUni.id}" itemLabel="#{lUni.desc}" /> 
            <p:ajax event="change" update="sisArm" listener="#{entityBB.changeOneMenuP}" /> 
             </h:selectOneMenu> 

任何想法????

+0

你的代碼和你的代碼段解釋是不夠的,以確定任何東西..請給出更詳細的解釋,顯示整個方法(事件聲明變量),添加xhtml的片段等。 – Damian

回答

2

最好不要混用primefaces p:ajax與純JSF

嘗試使用f:ajax

<f:ajax event="change" render="sisArm" listener="#{entityBB.changeOneMenuP}" /> 

此外,你最好訪問id這樣

public void changeOneMenuP(AjaxBehaviorEvent event) { 
    listEntity = escDao.findByxxxx(getidUni(), true);//or just idUni 
} 
相關問題