2014-12-18 52 views
5

Nie można uzyskać PrimeFaces RequestContext.getCurrentInstance().openDialog() do pracy. Podniosłem przykładowy kod prosto z prezentacji głównej, ale nigdy nie otrzymałem okna dialogowego do otwarcia. Używam PF 5.1 działającego na Wildfly 8.2.0.Final. Jakieś pomysły, co się dzieje?Nie można uzyskać PrimeFaces RequestContext.getCurrentInstance(). OpenDialog() do pracy

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); 
    } 
} 

i mój 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> 

Odpowiedz

10

Proszę sprawdzić "selectCar" jest ważna reguła Nawigacja w twarze-config, który odwołuje dialogplay.xhtml. (Roztwór lub użyj wittakarn, która jest łatwiejsza)

Jeśli tak jest, to sprawdzić, czy twarze-config zawiera Framework Configuration Dialog (strona 519 w Primefaces 5.1 Użytkownicy GUID to łatwo przegapić):

<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, to był problem. RTFM. Dzięki. –

+2

nawet po użyciu tego kodu w face-config nie mam nic – Subodh

Powiązane problemy