問題タブ [viewparams]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
68 参照

jsf - UIViewParameter からコンバーター属性式を取得する

JSFにソリューションが組み込まれていないview-param用の依存コンバーターを作成する必要があります。

この例barでは に依存していfooます。

@PostConstructの変換された値はbean.fooまだ利用できませんが、リクエスト パラメータbarを手動で取得し、 Converterel ルックアップを実行することができました。

を解決してコンバーターを取得しようとしましたUIViewParameterが、JSF ライフサイクルによってまだ設定されていないため、そのコンバーター インスタンスは nullです (なぜ? コンバーターの範囲が広い場合は安全なはずです)。したがって、コンバーターをルックアップして次のようなことを行うためのel式を取得したい(上記のDRYのようにハードコードする必要性を減らすため) :

UIViewParameterJSF は、各コンバーターのインスタンス化の後に呼び出される反復ライフサイクル Bean イベントなど、依存コンバーターのサポートを処理する必要があります。

0 投票する
0 に答える
17 参照

jsf - myfaces 2.1.17 - f:viewParam セッターがコマンドで呼び出されるlink

JSF2.0では、commandlinkが押された(投稿された)とき、f:viewParamセッターを再度呼び出す必要がありますか? myfaces 2.0 では、viewParam セッターを再度呼び出しませんが、myfaces 2.1 では呼び出します。これは正しいです?グローバルに無効にする方法はありますか?

0 投票する
1 に答える
1028 参照

jsf - includeViewParams=true の ExternalContext#redirect()

次のように、文字列の形式で通貨のリストを使用します。

に沿って<p:remoteCommand>

通貨値を設定するマネージド Bean が、上記を介して<p:remoteCommand>JavaScript 関数にパラメーターとして渡されます。

提供された通貨の値は、上記CurrencyRateBeanのアクション メソッド内から別のセッション スコープのマネージド Bean に設定され、最終的に現在の値にcurrencyAction()基づいてリダイレクトを行います。viewIdincludeViewParams=true


#{currencyRateBean.currencies}ここで、これまで文字列のリストであった複合オブジェクトのリストを持つように変更された場合、話は変わります。

次のシナリオは機能しませんが、includeViewParams=trueこれは重要です。

includeViewParams=true装飾用にのみ追加されています。うまくいきません。

listenerinは、 of<p:ajax>のようにナビゲーション ケースの結果に基づいてリダイレクトを行うことができないため、とにかく使用する必要があります。action<p|h:commandXxx>ExternalContext#redirect()

<p:remoteCommand>の完了時に使用できます<p:ajax>が、これにはサーバーへの不必要な 2 回の往復が含まれます。最初に関連付けられたマネージド Bean に通貨値を設定し、次にリダイレクトを行います。

与えられた例でリダイレクトを行う方法はincludeViewParams=true?

0 投票する
0 に答える
18 参照

jsf-2 - @RequestScoped Beanのビューに含まれるフォームが原因で発生した検証の失敗にビューパラメータを存続させるにはどうすればよいですか?

index.xhtml:

結果.xhtml:

マネージドBean:

打った時http://localhost:8080/Leonard/faces/ch2/index.xhtml?playernameparam=FARHAN&playersurnameparam=ANSARI

ここに画像の説明を入力

検証の失敗をトリガーするために、[検証目的] フィールドを空白のままにします。

そしてプレスボタンを押します。

次に、同じフィールドに何かを入力して、もう一度 Enter キーを押します。

それは完全に正常に機能し、ビューパラメーターがあり、リダイレクトされた URL は次のように反映されます。

http://localhost:8080/Leonard/faces/ch2/results.xhtml?playernameparam=FARHAN&playersurnameparam=ANSARI

もちろん豆のままです@ViewScoped

しかし、私の Bean は @RequestScoped であり、これが問題を引き起こしています。検証エラーが発生したときにそれらを失い、その後、POST リクエストでその検証エラーを削除した後に POST を実行すると、次の結果が得られました。

ここに画像の説明を入力

質問は、リクエスト パラメータをどのように保持するかということになります。

0 投票する
1 に答える
212 参照

validation - 次の場合に HTTP 400 エラーを送信します。@NotNull プロパティで失敗しました

データを表示するために GET パラメータを必要とする JSF 2.2 ページを作成していますが、そのパラメータを適用するのが困難です。

また、 Omnifaces の viewParamを使用しようとしましたが、成功しませんでした。もう何を試したらよいかわかりません。

このリンクでも同様の問題が見つかり、すべての提案を試しました...

私が開いたとき:

  • http://url-to/required-test.xhtml?test=foo

正常に動作し、Param is: foo表示されます。

しかし、私が開いたとき:

  • http://url-to/required-test.xhtml?test=
  • http://url-to/required-test.xhtml

Param is: null!検証エラー メッセージの代わりに表示されます。そしてnull!、このテスト専用の特別な outputText を追加したため、表示されるだけです。実際のアプリケーションでは、どこかで NullPointerException が発生します。

required属性をオン<f:viewParam />または機能させるにはどうすればよい<o:viewParam />ですか?

私のテストコード:

必須-test.xhtml

必須TestBean.java

web.xmlのコンテキスト パラメータ

0 投票する
0 に答える
119 参照

jsf - f:viewParam が呼び出し元の場合、setter が呼び出される前にプロパティの getter が呼び出されるのはなぜですか?

タイトル悪くてすみません、編集よろしくお願いします。

だから私はこのコードを持っています:

クリックすると、goodbye.xhtmlが表示され、そのコードは次のようになります。

したがって、次のように BlahBlah.java がある場合:

goodbye.xhtmltest_one_modifiedが表示されますが、これは問題ありません。

しかし、次のように BlahBlah.java を変更すると:

私が期待しているのは、再びtest_one_modifiedが表示されることですが、代わりに素敵なNull Pointer Exceptionが発生します。

じゃない

BlahBlah.parameterを設定するはずですか?

0 投票する
0 に答える
631 参照

forms - JSFフォームを送信して値をGETパラメータとして別のページに渡す方法は?

こんにちは、BalusC によるこの回答を見ました。エンティティのマスター詳細ページの作成、それらをリンクする方法、および選択する Bean スコープ

私が探しているのは、入力値をリクエスト GET パラメータとして渡す方法です。次のような検索フォームを持つ page1 があるとします。

そして、次のように人物のデータを表示する 2 番目のページ (page2) を用意します。

私の質問は、page1 からの入力値を GET リクエスト パラメータとして page2 に渡す方法です。前もって感謝します。私の英語でごめんなさい:)

0 投票する
1 に答える
273 参照

jsf - ビュー スコープの Bean にリクエスト パラメータを挿入する (異なるポートレット)

ポートレット A 内の最初のビューとポートレット B 内の 2 番目のビュー (同じ .war 内の両方のポートレット) の 2 つのビューを通信しようとしています。そのために、JSF の「f:viewParam」機能と「f:param」機能を使用して、(ポートレット A ビューから) プロパティをリクエスト オブジェクトに注入することにしました。リクエスト オブジェクトから取得し、そのプロパティ値をビュー スコープのバッキング Bean プロパティに渡します。

Portlet-A ビュー コード:

JS コード:

ポートレット B のビューは、ポートレット A のビューが表示されるページとは異なる、Liferay ベースのページに表示する必要があることに注意してください。

ポートレット B ビュー コード:

portlet-B が表示されると、ブラウザーのアドレス フィールドは「http://host:8080/viewer」に設定され、タグは「0」(ゼロ) としてレンダリングされます。

目標とするタスクを実行している方法が正しいかどうかはわかりません。しかし、もしそうなら、なぜそれが機能しないのかわかりません。ですから、助けやコメントをいただければ幸いです。前もって感謝します。