5

Dialog Framework - Basic を使用して、primefaces サイトの例に従ってみます。

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

Bean DialogBean

パブリック クラス 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> 

これは My Bean の例です。私はこのようにしてみてください

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

それは機能していません、私はこのようにしようとします.しかし毎回エラー

Impossible de trouver un cas de navigation コレスポンタント depuis l'ID de vue '/pagess/Parsing/ReacgModule.xhtml' pour l'action '#{parserXls.viewComposant()}' avec le resultat 'dialog:/pagess/pagesComposant/AjoutC .jsf?modal=true'.

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

しかし、私がこのようにすると、ページは戻りますが、好きなようにはなりません

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

1 に答える 1

6

プライムフェイスの 3.5 バージョン

「ダイアログ フレームワーク」dialog:ナビゲーション結果プレフィックスは、PrimeFaces 4.0 で導入され、古いバージョンでは機能しません。

したがって、2 つのオプションがあります。

  1. PrimeFaces 4.0 にアップグレードします (注: 現在はまだベータ版です)。
  2. dialogWidgetVar.show()JavaScript またはvisible="#{someCondition}JSFの「古い」アプローチを使用します。PrimeFaces ショーケース<p:dialog>例も参照してください。

更新:コメントによるとwidgetVar、JSのアプローチでそれを使用する方法は次のとおりです。

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

visibleJSF でこのアプローチを使用する方法は次のとおりです。

<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>

private boolean showDialog;

public void showDialog() {
    showDialog = true;
}

public boolean isShowDialog() {
    return showDialog;
}

必要に応じ<p:dialog>て、 でインクルードするインクルード ファイルに移動できます<ui:include>

于 2013-05-21T14:17:55.800 に答える