Mojjara で post-redirect-get パターンを実装しようとしています。同じヘッダーと検索フォームを含む 2 つのページがあります。
両方のページの共通テンプレートに、これら 2 つのコードが含まれています
<f:metadata>
<f:viewParam name="searchString" value="#{searchBean.searchString}" />
<f:viewParam name="mutation" value="#{searchBean.mutation}" />
</f:metadata>
...
<h:form id="searchForm">
<div class="search">
<p:autoComplete id="autocomplete" minQueryLength="2" queryDelay="250" completeMethod="#{searchBean.complete}" value="#{searchBean.searchString}" />
<p:watermark for="autocomplete" value="#{msg.search}" />
<p:commandButton action="search?faces-redirect=true&includeViewParams=true" value="#{msg.searchIt}">
<f:setPropertyActionListener target="#{searchBean.mutation}" value="#{facesContext.viewRoot.locale}" />
</p:commandButton>
</div>
</h:form>
からフォームを送信するarticle.xhtml
と、URL はsearch.xhtml
にsearch.xhtml
なります。/search.xhtml?searchString=stringSearch&mutation=cs
何か不足していますか?
編集: バッキング Bean は、ビューとフラッシュの間で何らかの組み合わせを使用します (Bean は両方のスコープに保存され、生き残ったスコープから取得されます)。デバッグから、JSF は Bean に保存される前にパラメーターを取得しているようです (誤った使用例)。