1

私はJSFe-formアプリケーションに取り組んでいます。このアプリケーションは、別のWebサイト(JSPで記述されたもの)に埋め込む必要があります。これを埋め込むことができる唯一の方法は、ドキュメントの準備段階でjQueryを使用することです。

必要なすべてのページが埋め込まれていて、すべてが期待どおりに表示されていますが、問題が1つあります。

新しいフォーム/フォームの編集Webページには、フォームを更新するか、サーバー側で新しいフォームを作成し、アクションが完了すると成功画面または失敗画面に移動する送信ボタンがあります。

このページが埋め込まれている場合でも、このボタンはサーバー上でアクションを実行します(素晴らしい!!)が、予想どおり、ページを成功画面にリダイレクトします。私がやりたいのは、「親」画面にとどまり、埋め込まれたページを成功ページ/失敗ページに置き換えることです。

これを回避する方法は、JSFからのナビゲーションイベントを何らかの方法でインターセプトし、そのイベントから埋め込みページをリロードすることだと思います。ここで重要なのは、送信後に親ページを離れないことです。

Tomcat 6でJSF2.0(Apache impl。)を実行していて、jQueryのバージョンは1.3です。

これが明確であることを願っています。さらに情報が必要な場合はお知らせください。

ありがとう!

4

1 に答える 1

2

このページが埋め込まれている場合でも、このボタンはサーバー上でアクションを実行します (すばらしい!!) が、予想どおり、ページを成功画面にリダイレクトします。私がやりたいのは、「親」画面にとどまり、埋め込まれたページを成功ページ/失敗ページに置き換えることです。

nullまたはvoid、コンテンツを条件付きでレンダリングするだけです。

このように

public void submit() {
    results = processAndGetIt();
}

例えば

<h:form>
    ...
    <h:commandButton value="Submit" action="#{bean.submit}">
        <f:ajax execute="@form" render=":results" />
    </h:commandButton>
</h:form>

<h:panelGroup id="results">
    <h:panelGroup rendered="#{not empty bean.results}">
        Results have been retrieved: #{bean.results}.
    </h:panelGroup>
</h:panelGroup>

<f:ajax>ユーザーエクスペリエンスを向上させるために追加したことに注意してください。

于 2012-05-25T15:03:36.400 に答える