問題タブ [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 投票する
1 に答える
6132 参照

jsf - JSF f:viewParamがtemplate.xhtmlにある場合、setterを呼び出さない

おそらく誰かが私を啓発することができます。

入れたら

テンプレート内、セッター

呼び出されることはありません。つまり、preRenderメソッド'call()'は、事前にsetterを呼び出さずに呼び出されます(以下のコード例を参照してください)。

ただし、メタデータブロックをコンポジション内に配置すると、期待どおりに呼び出されます。

これは正常な動作ですか、それとも私は何か間違ったことをしていますか?
洞察をありがとうございました。
ハンスペッター

参考までに、動作していないバージョンの完全なコード例を次に示します。

testtemplate.xhtml

testcomposition.xhtml

そしてここに、作業バージョンの完全なコード例があります。

testtemplate.xhtml

testcomposition.xhtml

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

jsf-2 - リクエストパラメータでナビゲートする方法は?

あるページから別のページに移動したい、たとえば from page1with withbean1page2bean2ます。bean1からにいくつかのパラメーターを渡す必要がありますbean2

@ManagedPropertyfor parameters と<f:viewParam>in <f:metadata>part of の使用方法を理解したいと思いますpage2。たとえば、ゲッターとセッターで と をfield1使用field2できfield3ます。私の理解では、次のメタデータでビュー パラメーターを定義する必要があります。bean1bean2page2

お気に入り

@ManagedPropertyパラメータfield1field2and field3bean1またはを定義するために注釈を使用する場所がわかりませんbean2

page1は使用することができます"page2?faces-redirect=true&amp;includeViewParams=true"

コマンドリンクの送信への応答など、の代わりにメソッドの1つで同じものを使用できますpage1か?

page1これら 3 つのフィールドが と の両方に必要な場合page2、これらの隠しフィールドを定義できますか?

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

java - viewParam は @RequestScoped Bean および ajax イベントで機能しませんか?

stackoverflow でいくつかの質問と回答を読んだ後 (このViewParam vs @ManagedProperty(value = "#{param.id}")のように)、 Bean および ajax イベントで使用viewParamする可能性についてはわかりません。@RequestScoped@BalusCの回答でわかるように:

@RequestScoped Bean で使用できますが、必要な場合は Bean が @ViewScoped である必要があります。

f:viewParamビーンで使用すると@RequestScoped同時に、検証が失敗した後もビューパラメーターを保持することは可能だと思います。つまり、@ViewScopedビーンはまったく必要ありません。

おそらく@ViewScopedbean を使用する必要性は、この仕様の問題と関係があるのではないでしょうか? http://java.net/jira/browse/JAVASERVERFACES-1532

その問題によると、ソリューションは JSF 2.2 でのみ利用可能になります。

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

jsf-2 - JSF Bean:ViewParamが設定された後に@PostConstruct関数を呼び出します

product.xhtmlとProductBeanがあります。/ product / {id}を使用して製品にアクセスするため、product.xhtmlにvalue=ProductBean.idのviewParamがあります。問題は、Bean内で、製品の詳細を入力するためにPostConstructアノテーションを指定したinit関数を使用することです。これを行うには、外部関数を呼び出すためのIDが必要です。viewParamがBeanのIDを設定する前にinitが呼び出されるので、initの内部では、idがまだ設定されていないため、外部関数を呼び出すことができないと思います。私は何を間違っているのですか、そしてこれをどのように修正しますか?

アップデート

何が悪かったのかわかりました。viewParamメソッドはCDIBeanで機能すると思いますが、ManagedPropertyメソッドはJSFBeanで機能します。

もう1つ問題があります。私のCDIBeanはRequestScopedであり、product.xhtmlがレンダリングされると、Beanが作成され、後で破棄されると思います。面白いことに、そのBean内に関数があり、呼び出すとid(view paramに接続されているために発生すると思います)を読み取ることができますが、他のプロパティは読み取ることができません。これを修正する方法はありますか?

0 投票する
2 に答える
14055 参照

jsf-2 - 投稿後のJSFでのビューパラメータの処理

動作するためにuserIdが必要なページがいくつかあるため、次のコードがあります。

userpage.xhtml

userPageController.java

ただし、doActionが呼び出されると、URLのビューパラメータは表示されなくなります。Beanは、そのビュースコープの性質のために引き続き機能しますが、将来のナビゲーションの試みを台無しにします。検索すると、投稿後にviewパラメーターを残して、userpage.jsf?userId = 123と表示されているように見えますが、そうではありません。本当に意図された振る舞いは何ですか?

これに関連して、userIdを保持したい別のページに移動するときに、ビューパラメータの自動追加を実装しようとしました。他の人にとってはうまくいくようですが、私にとっては、ViewRootのuserIdは常にnullです。以下のコードは、viewparameterを取得するために使用されます(一時的に保存されたuserIdをナビゲーションに使用できることはわかっていますが、このソリューションの方がはるかに優れています)。

最後に考えたのは、setterメソッドはまだ機能しているようで、postでsetUserIdが正しい値で呼び出されるということです。

ビューパラメータがどのように機能するかを完全に誤解しましたか、それともここに何らかのバグがありますか?私のユースケースは非常に一般的であり、フレームワークで基本的なサポートが必要だと思います。

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

java - 2 番目の ajax リクエストを呼び出すと、f:viewParam と Converter および ViewScoped の例外が発生する

これf:viewParamをバインドして検証して auserIdをに変換しようとすると、予期しない結果Playerが得られました。

私のコンバーターはこのように見えます

3 つのリンク (Harry、Tom、Peter) をクリックすると、コンバーターがうまく機能します。ID を変換playerし、マネージド Bean にバインドします。次に、テキストボックスに何かを入力してクリックします。最初は正常に機能し、入力した内容がボタンの横に表示されますが、入力内容を変更してもう一度Switchクリックすると、エラーメッセージが表示されます。これはエラーメッセージですのために。f:viewParam を取り出した場合、すべて正常に動作します。驚いたことに、f:viewParam から o:viewParam (OmniFaces) に切り替えると、うまく機能します。SwitchBad Request. Please use a link from within the systemrequiredf:viewParam

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

jsf-2 - URL にパラメーターがない場合は、f:viewParam プロパティを null に設定します。

1 つのパラメーターを受け入れる単純なページがあるとします。

ユーザーが に移動するhttp://localhost/myapp/?name=Joeと、#{bean.name}が に設定されJoeます。次に、ユーザーがhttp://localhost/myapp/またはhttp://localhost/myapp/?something=Elseに移動した場合、#{bean.name}は引き続き に設定されJoeますが、 にしたいと思いますnull。これはどのように行うことができますか?

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

jsf - 他のフィールドの前にinputHiddenからidがロードされたエンティティBeanにリクエスト値を適用する

私は次のファセットテンプレートを持っています:

およびリクエストスコープのBean:

最初のページの読み込みは適切に機能し、エンティティが読み込まれてフォームに表示され、inputHiddenがエンティティIDに設定されます。問題は、送信スローです。

おそらく、getUserがsetIdの前に呼び出されたためです。どうすればこれを解決できますか?私は本当にリクエストスコープのBeanが欲しいのですが、これは少なくともviewaccessスコープのBeanで簡単に解決できることを知っています。

編集:プロセス検証フェーズで例外がスローされることに気づきました。最初は、モデル値の更新フェーズで例外がスローされると思いました。「privateUser」を「privateUseruser= new User()」に変更しましたが、今は大丈夫ですが、少し変な感じがします。

よろしく、パベル

0 投票する
2 に答える
1952 参照

jsf - f:param および f:viewparam セッターが呼び出されない

f:param を使用した出力リンクがある xhtml ページがあります。

<h:outputLink value="#{formService.getStartFormData(v_process.id).formKey}"> Start <f:param name="processDefinitionKey" value="#{v_process.key}"></f:param> </h:outputLink>

ターゲットページには、ビューパラメータがあります

私の豆は

processDefinitionKey が null です。セッターが呼び出されていません。何が問題なのですか? 追加する web.xml または faces-config.xml に構成はありますか? 同じプロジェクトで、私はプライムフェイスとスプリングセキュリティを使用しています

これが全ページです

返信ありがとうございます。うまくいきませんでした。

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

ajax - 動的に含まれるページ フォームの最初の送信が失敗する

動的に含まれるページで奇妙な動作が発生しました

私の最初のページには、含めるさまざまなページから選択するコンボがあります。

AnyPageBean は、次の 2 つのページのいずれかを返すだけです: pilotNoTemplate.xhtml または pipe.xhtml

そのページ (pipo ページも) を選択すると、pilotNoTemplate.xhtml が正しく表示されます。

しかし、pilotNoTemplate.xhtml からフォームを送信すると、JSF はその送信を問題のない POST と見なしますが、Phase1 と Phase 6 だけがスパンされているのはなぜですか? フェーズを示す PhaseListener があり、次のように出力されます。

フォームに何かが入力されている場合、それはリセットされます...

2 番目の送信は問題なく、すべてのフェーズにまたがっています。

私のテンプレートページ:

構成ページ。含めるページを選択できます。

pilotNoTemplate.xhtml ページ:

xhtmlページのすべてのコンポーネントに「id」を与えることに注意しましたが、それがないとそういう問題があるので、私の場合は不十分なようです。何か案が ?

他の人が同じ問題を抱えているのを見てきましたが、解決策は見つかりましたか?