2012-03-28 10 views
1

JSF Code:a4j: command Aktion Brennen nicht in den reichen: popupPanel Richfaces 4 JSF 2

<rich:popupPanel modal="true" id="editPanelUser"> 
    <h:form> 
    <h:panelGrid columns="2"> 
     <h:outputLabel value="first name (*)" /> 
     <h:inputText value="#{usersBean.currentItem.firstName}" /> 
    </h:panelGrid> 
    <h:panelGrid> 
     <a4j:commandButton value="save" 
     oncomplete="if(#{facesContext.maximumSeverity==null}) #{rich:component('editPanelUser')}.hide()" 
     action="#{usersBean.runAction('saveUser')}"/> 
    </h:panelGrid> 
    </h:form> 
</rich:popupPanel> 

Backing Bean-Code:

public void setRunAction(String action){ 
    if("saveUser".equals(action)){ 
     ... 
    } 
} 

ich einen Haltepunkt in der setRunAction Methode setzen, aber es nie macht es hier. Ideen?

Was seltsam ist, dass die a4j: command Code, der diese Popup öffnet funktioniert gut und ruft die runAction Methode:

<h:form> 
    <rich:dataTable value="#{usersBean.dataList}" var="singleUser" 
    rowClasses="row1,row2" rowKeyVar="row" id="singleUserTable" 
    ajaxKeys="#{usersBean.keys}"> 
    <rich:column> 
     <a4j:commandLink id="editlink" 
     oncomplete="#{rich:component('editPanelUser')}.show();return false;"> 
     <f:setPropertyActionListener value="editUser" 
      target="#{usersBean.runAction}" /> 
     </a4j:commandLink> 
    </rich:column> 
    </rich:dataTable> 
</h:form> 
+0

gibt es einen Daniel

+0

Ich habe ein

+0

nur für die Überprüfung, versuchen Sie, die unvollständige zu entfernen ... auch nicht sollte eq Null anstelle Ihrer Bedingung sein ... auch prüfen, Firebug – Daniel

Antwort

0

Bitte e versuchen XHTML-Code folgende (auch sicherstellen, dass Sie in einer anderen Form Elemente Form nicht haben):

<rich:popupPanel modal="true" id="editPanelUser"> 
    <h:form id="myForm"> 
    <h:panelGrid columns="2"> 
     <h:outputLabel value="first name (*)" /> 
     <h:inputText value="#{usersBean.currentItem.firstName}" /> 
    </h:panelGrid> 
    <h:panelGrid> 
     <a4j:commandButton id="myBtn" value="save" 
     oncomplete="if(#{facesContext.maximumSeverity==null}) #{rich:component('editPanelUser')}.hide()" 
     actionListener="#{usersBean.runAction('saveUser')}"/> 
    </h:panelGrid> 
    </h:form> 
</rich:popupPanel> 

und Verfahren in Managed-Bean:

public void runAction(String action){ 
    if("saveUser".equals(action)){ 
     ... 
    } 
} 
0

Änderung Ihrer Aktion Attribut wie unten

action="#{usersBean.setRunAction('saveUser')}" 

oder ändern Sie Ihre Methode wie

public void runAction(String action){} 
Verwandte Themen