40

Primefacesを使用して、アプリをもう少し美しくしています。私はそれに気づき、同じように機能p:commandButtonh:commandButtonません。

呼び出しはメソッドを呼び出し、他にはp:commandButton何も起こりません。メソッドを呼び出し、h:commandButtonナビゲーションを返します。

を使用しているときにログインボタンを押した後、リダイレクトに問題がありますp:commandButton。どのように対処するのですか?


私は更新パラメータを持っています:

<p:commandButton value="Login" action="#{login.login}" type="submit" update="msgs" />
4

6 に答える 6

53

<p:commandButton>正しく機能するには、次のいずれかが必要です。

  • update再レンダリングするコンポーネントのIDを一覧表示する属性(AJAXリクエストの場合)
  • ajax="false"通常の非ajax送信を行うための属性。

どちらも持っていない場合、ボタンはデフォルトでUIフィードバックなしでAJAXリクエストを実行します。

さらに、周囲<h:form>enctype属性がある場合、どちらのオプションも機能しないという問題がありました。

于 2011-01-09T13:04:32.823 に答える
31

私はCagataymentが何であったかと思います:

ページをナビゲートしません:

<p:commandButton action="home.xhtml" value="Go Home"/>

動作(ページをリダイレクト):

<p:commandButton action="home.xhtml?faces-redirect=true" value="Go Home"/>

動作します(ページをリダイレクトします)

<p:commandButton action="home?faces-redirect=true" value="Go Home"/>

.xhtmlがweb.xmlで定義されているデフォルトの接尾辞である場合:

<context-param>
        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
        <param-value>.xhtml</param-value>
    </context-param>

詳細については、primefacesフォーラム、たとえばナビゲーションに関するこのディスカッションを参照してください。

それが少し役に立ったことを願っています...

于 2011-05-03T10:11:01.280 に答える
8

ナビゲーションを行っていて、リクエストがajaxで行われる場合は、リダイレクトを使用する必要があります。

于 2011-01-09T17:48:31.783 に答える
4

私も同様の問題を抱えています。

PrimefacesとPrimefacesMobileを使用していますが、Firefox <p:commandButton>でajax="false"とaction="find.xhtml?faces-redirect=true"を使用するとナビゲーションが失敗します。

Firefoxでも機能させる唯一の方法は、<h:commandButton>次を使用することでした。

<h:commandButton value="#{msg.find}" process="find" 
                     action="find.xhtml?faces-redirect=true" />
于 2012-07-05T13:54:41.650 に答える
0

上記の解決策はどれも私にはうまくいきませんでした。あなたはまだ簡単なJavaScriptに行くことができます

<p:commandButton onclick="window.location.href =home.xhtml"
                    style="height: 20px" type="button" title="title" icon="ui-icon-transferthick-e-w"/>
于 2018-04-25T09:59:31.483 に答える
0
<h:commandButton 
                             styleClass="btn btn-primary-active upgrade" data-dismiss="modal" 
                             value="Upgrade Account" 
                             action="profile.do?faces-redirect=true&amp;tab=plan" 
                             oncomplete="$('#freeGiftModal').hide();" process="@this" partialSubmit="true" immediate="true"/>

コマンドボタンを使用してプロファイルページに移動しましたが、正常に機能しています。

于 2018-11-11T07:43:48.383 に答える