2014-12-18 10 views
5

Impossibile ottenere PrimeFaces RequestContext.getCurrentInstance().openDialog() per funzionare. Ho sollevato il codice di esempio direttamente dalla vetrina delle primefaces, ma non ho mai aperto una finestra di dialogo. Sto usando PF 5.1 in esecuzione su Wildfly 8.2.0.Final. Qualche idea su cosa succede?Impossibile ottenere PrimeFaces RequestContext.getCurrentInstance(). OpenDialog() per funzionare

DFView.java

@ManagedBean(name = "dfView") 
public class DFView { 

    public void chooseCar() { 
     RequestContext.getCurrentInstance().openDialog("selectCar"); 
    } 

    public void onCarChosen(SelectEvent event) { 
     Car car = (Car) event.getObject(); 
     FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Car Selected", "Id:" + car.getId()); 
     FacesContext.getCurrentInstance().addMessage(null, message); 
    } 
} 

e la mia dialogplay.xhtml

<!DOCTYPE html> 
<ui:composition xmlns="http://www.w3.org/1999/xhtml" template="/WEB-INF/templates/template.xhtml" 
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets" xmlns:h="http://xmlns.jcp.org/jsf/html" 
    xmlns:p="http://primefaces.org/ui"> 
    <ui:define name="body"> 
<h:form> 
    <p:growl id="growl" showDetail="true" /> 

    <p:commandButton value="Select Car" icon="ui-icon-extlink" actionListener="#{dfView.chooseCar}"> 
     <p:ajax event="dialogReturn" listener="#{dfView.onCarChosen}" update="growl" /> 
    </p:commandButton> 
</h:form> 
    </ui:define> 
</ui:composition> 

risposta

10

cliccate su "selectCar" è una regola di navigazione valida nel vostro faces-config che fa riferimento dialogplay.xhtml. (Soluzione o l'uso di wittakarn, che è più facile)

Se questo è il caso, verificare che il faces-config contiene il Framework Configuration Dialog (Pagina 519 nelle primefaces 5.1 Utenti Guid, è facile perdere):

<application> 
    <action-listener> 
    org.primefaces.application.DialogActionListener 
    </action-listener> 
    <navigation-handler> 
    org.primefaces.application.DialogNavigationHandler 
    </navigation-handler> 
    <view-handler> 
    org.primefaces.application.DialogViewHandler 
    </view-handler> 
</application> 
+1

Bingo, questo era il problema. RTFM. Grazie. –

+2

anche dopo aver usato questo codice in faces-config non ho ottenuto nulla – Subodh

Problemi correlati