2013-05-21 7 views
5

cerco di Seguire exemple da primefaces sito .using Dialog Framework - Basepagina JSF nella finestra di dialogo non funziona

<p:commandButton value="Options" icon="ui-icon-extlink" action="#{dialogBean.viewCarsCustomized}" /> 

Bean DialogBean

public class DialogBean {

public String viewCarsCustomized() { 
    return "dialog:viewCars?modal=true"; 
} 

}

viewCars.xhtml

<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:p="http://primefaces.org/ui"> 

    <h:head> 

    </h:head> 

    <h:body> 
     <p:dataTable var="car" value="#{tableBean.carsSmall}"> 
      <p:column headerText="Model"> 
       <h:outputText value="#{car.model}" /> 
      </p:column> 

      <p:column headerText="Year"> 
       <h:outputText value="#{car.year}" /> 
      </p:column> 

      <p:column headerText="Manufacturer"> 
       <h:outputText value="#{car.manufacturer}" /> 
      </p:column> 

      <p:column headerText="Color"> 
       <h:outputText value="#{car.color}" /> 
      </p:column> 
     </p:dataTable> 
    </h:body> 

</html> 

questo è il mio esempio su My Bean. I Try come questo

public String viewComposant(){ 
     return "dialog:AjoutC?modal=true"; 
    } 

non funziona, provo a fare come questo .ma ogni errore volta

Impossible de trouver un cas de navigazione correspondant depuis l'ID de vue ' /pagess/Parsing/ReacgModule.xhtml 'pour l'action ' # {parserXls.viewComposant()} 'avec le résultat ' dialog: /pagess/pagesComposant/AjoutC.jsf? modal = true '.

public String viewComposant(){ 
     return "dialog:/pagess/pagesComposant/AjoutC.jsf?modal=true"; 
    } 

ma quando lo faccio in questo modo la pagina di returend ma non come mi piace

public String viewComposant(){ 
      return "/pagess/pagesComposant/AjoutC.jsf"; 
     } 
+1

Quale versione PF stai usando? È lo stesso menzionato nel piè di pagina della pagina di presentazione? Il 'dialog:' prefisso del risultato di navigazione è nuovo da 4.0 (che è attualmente ancora in beta). – BalusC

+0

3.5 versione di primefaces –

risposta

6

3,5 versione di primefaces

Il prefisso esito dialog: navigazione da "Dialog Framework" viene introdotto in PrimeFaces 4.0 e non w ork nelle versioni precedenti.

Così, hai 2 opzioni:

  1. aggiornamento a primefaces 4.0 (nota: è attualmente ancora in fase beta)
  2. utilizzare l'approccio "vecchia" di dialogWidgetVar.show() in JavaScript o visible="#{someCondition} in JSF. Vedi anche the <p:dialog> examples in PrimeFaces showcase.

Aggiornamento: come per il commento, ecco come si potrebbe usare con widgetVar approccio in JS:

<p:button value="Open dialog" onclick="w_dialog.show(); return false;" /> 
<p:dialog widgetVar="w_dialog"> 
    <p>Dialog's content.</p> 
<p:dialog> 

Ed ecco come si potrebbe utilizzare l'approccio visible in JSF:

<h:form> 
    <p:commandButton value="Open dialog" action="#{bean.showDialog}" update=":dialog" /> 
</h:form> 
<p:dialog id="dialog" visible="#{bean.showDialog}"> 
    <p>Dialog's content.</p> 
<p:dialog> 

con

private boolean showDialog; 

public void showDialog() { 
    showDialog = true; 
} 

public boolean isShowDialog() { 
    return showDialog; 
} 

È possibile se necessario spostare <p:dialog> in un file di inclusione incluso in <ui:include>.

+0

Avete un esempio per dialogWidgetVar.show() per farlo funzionare. Grazie in anticipo –

+0

Non capisco. Ho shoud make visisble = "#" dove .Io ho una pagina e vorrei per visualizzarlo in un dialogo, puoi spiegarmi di più –

+1

Vedere la risposta aggiornata. – BalusC