0

この問題に関する多くの投稿を読みましたが、解決策が見つかりませんでした。

JSF の先頭に、ダイアログを開く commandButton を含むフォームがあります。ダイアログには、ダイアログ内にフォームがあり、プロパティ modal と appendToBody があります。マイページは自動的にリロードされるだけで、ダイアログは表示されません。

<ui:composition template="../templates/site.xhtml"
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:p="http://primefaces.org/ui"
    xmlns:sec="http://www.springframework.org/security/tags">

    <ui:define name="content">
         <h:form>
                   <p:commandButton value="Button" id="myButton" onclick="myDialog.show()" />
        </h:form>

        <p:dialog id="dialog" widgetVar="myDialog"
                        header="Dialog" closable="true" resizable="false" width="600"
                        height="350" modal="true" appendToBody="true" dynamic="true">
                        <h:form>
                           ...
                        </h:form>
        </p:dialog>
    </ui:define>
</ui:composition>
4

1 に答える 1

1

commandButtonコードを次のように変更します。

<p:commandButton value="Button" type="button" id="myButton" onclick="myDialog.show()"/>

これにより、通常のプッシュ ボタン (JavaScript のみを呼び出す) が作成され、サーバーに対して AJAX または非 AJAX 要求は行われません。ボタンのデフォルトのタイプは ですsubmit

于 2013-02-04T12:39:37.403 に答える