0

アクションメソッドをバインドするコマンドボタンがあります。

<f:view >
    <pm:page title="Title">
        <pm:view id="viewId" swatch="c">
            <p:outputPanel id="panelId">
                <h:form id="formId">   

    <p:commandButton action="#{bean.actionMethod}" update="formId" value="Click" />
                           </h:form>
                     </p:outputPanel>
               </pm:view>
    </pm:page >
</f:view>

インサイドアクションメソッド。ナビゲーションは同じページを参照します。一部の値は、アクションメソッド内で更新されます。

public String applyPeriod(String caller)
{
    .....
    retrun SAMEPAGE;
}

全て大丈夫。ただし、スタイルはレンダリングされません。ページはデフォルトのスタイルに戻ります。

スタイルをロードする方法についてのアイデア。本当のリフレッシュでURLを変えたくない。私はそれをajax呼び出しで管理する必要があります。

ページのリクエストをトレースします。スタイルの必要はまったくありません。

私はprimefaces、primefaces mobileを使用しており、モバイルページです。

4

2 に答える 2

2

フォームのIDの背後で使用しなかった場合:、問題は相対的なコンポーネントの検索に関連している可能性があり、相対的な識別子に基づいてフォームを見つけようとしていると思います。異なる要素のIDを使用することで、期待される動作が得られます。これらは、のコンテキストに対して相対的な方法で正しく参照されているため、私は圧力をかけます<p:commandButton/>

update="@form"またはを使用してみてくださいupdate=":formId"。また、補足として、完全なajaxを使用したいが、ユーザーをどこにもリダイレクトしない場合、メソッドはであるか、voidまたはreturnである必要がありますnull

于 2013-03-26T15:57:10.700 に答える
0

舞台裏の理由はよくわかりません。ただし、commandButtonの属性を更新するための正確なコンポーネントIDを指定することで、問題を解決しました。

<p:commandButton action="#{bean.actionMethod}" update="ListOfComponentIds" value="Click" />
于 2013-03-26T08:58:03.730 に答える