問題タブ [rendered-attribute]
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.
jsf - f:selectItemタグを条件付きでレンダリングする方法は?
<f:selectItem>
タグの条件付きレンダリングを指定するにはどうすればよいですか。<f:selectItem>
特定のユーザーのステータスに応じてオプションを表示する必要があります。
たとえば、次のようなものが必要でした。
jsf - JSF / Facelets/JSTL条件付き表示のベストプラクティス
JSF / JSTL /Facelets
を使用する際のベストプラクティスに関していくつか質問があります。上記のコードのようなJSFページがあります。このループが10個の結果を返し、各結果に対して1つの条件のみがtrueに評価されると仮定します。したがって、ユーザーは、ロードされるとhtmlページに10件の結果が表示されます。
HTMLで表示されるアイテムは10個だけですが、コンポーネントツリーには40個のアイテムが含まれますが、falseと評価されたアイテムが含まれます。上記の動作は正確ですか?
1が真であり、コンポーネントツリーに多くの非表示のコンポーネントが含まれている可能性がある場合、パフォーマンスの問題は、40ではなく400のアイテムだったとしましょう。
FaceletesまたはJSFには、c:ifのように動作し、ツリーにコンポーネントを含めない条件付きタグハンドラーがありますか?または、最後の手段としてc:ifを使用する必要がありますか?JSTLの使用を避けようとしています。
ありがとう。
jsf - クエリ文字列の存在 (またはクエリ文字列がまったくない) に基づいて、条件付きで JSF h:panelGrid をレンダリングします。
クエリ文字列の有無に基づいて、いくつかのコンポジション/テンプレートを動的にレンダリングしようとしています。例えば:
ローカルホスト:9080/myWonderfulApp/test.xhtml?foo=bar
これは機能し、A.xhtml が取り込まれます。
ローカルホスト:9080/myWonderfulApp/test.xhtml
これは機能しません。B.xhtml は取り込まれません。
クエリ文字列部分がないという問題があります。?foo=bar を渡すと A.xhtml をレンダリングできますが、クエリ文字列がない場合は B.xhtml をレンダリングできないようです。いくつかのバリエーションを試してみましたが、最初は #{param['foo'] != 'bar' が機能すると考えていましたが、foo クエリ パラメータがまったくないため、機能していないと思います。param == null かどうかを確認しようとしましたが、それもうまくいきませんでした。
NO クエリ文字列に基づいてレンダリングされた属性を設定することは可能ですか?
B.xhtml に別のクエリ文字列を設定することはできません。これは、2 つの異なるスキンを取得するレガシー アプリに取り組んでいるためです。そのため、リンクするすべての古いアプリを改造することはできません。新しいアプリはクエリ文字列を使用し、古いアプリはクエリ文字列なしでリンクする古いスキンを取得する必要があります。
これもうまくいかないようです:
jsf - JSF:リクエストスコープのPOST REDIRECT GETでのフォーム送信中のリクエスト値の適用フェーズ中に、レンダリングされた空のテストが呼び出されるのはなぜですか?
この質問は、JSF2 への部分的な回答から生成されます: なぜコンポジットで panelGroup のレンダリングされた空のテストがアクションの呼び出しを妨げるのですか?
以下の Element は、名前と ID を持つ @Entity です。view.xhtml JSF ページは ID を viewParam として受け取り、 @ManagedBean @RequestScoped ElementController の setID(Long ID) を使用して、対応する Element のロードをデータベースからの ID でトリガーします (これは問題ではそれ以上の役割を果たしません)。 Element は、Element getSelected() として使用可能な「現在の」Element として設定されます (歴史的な理由により、名前が若干異なります)。
view.xhtml ページはレンダリングされた属性テスト #{not empty elementController.selected} を実行し、faces-redirect を実行するアクションを含む ah:commandButton をクエリ パラメータとしての id と共に、view.xhtml ページに戻します。
何らかの理由で完全には理解できませんが、フォームの送信時に、viewParam id が設定される前に (したがって、現在/選択された要素が設定される前に)、リクエストの適用フェーズとプロセスの検証フェーズの両方でテスト (および getSelected) が呼び出されます。モデル値の更新フェーズで検出および設定されます)。
大幅に省略された view.xhtml ページは次のとおりです。
(上記ではフォーム送信の意味が失われていますが、この質問には関係ありません。)
ElementController は RequestController を拡張します。
フォーム送信時に getSelected() がたまたま 2 回呼び出され、current==null の場合は、リクエスト値の適用フェーズで 1 回、プロセス検証フェーズで 1 回です。 view.xhtml の viewParam のおかげで、id の設定 (および Element エンティティの読み込み) を行うことができます。
問題は、なぜ render=#{not empty elementController.selected} がリクエストの適用フェーズとプロセスの検証フェーズで呼び出されるのかということです。
これらのフェーズでは、id パラメータを指定して view.xhtml の初期 GET ロードを実行するときに呼び出されません。フォーム送信 POST とその後のリダイレクトおよび GET の間のみです。
jsf-2 - EL2.2を搭載したJSF2.xで、ValueExpressionの代わりにMethodExpressionが使用できるようになるのはなぜですか?
JSFメソッドにパラメーターを渡す方法を尋ねるいくつかの質問があります。EL2.2とサーブレット3.0では、ユーザーがパラメーターをメソッド呼び出しに渡すことができます。一例:レンダリングされたh:outputTextからメソッドに引数を渡す方法は?問題は次のとおりです。JSF2.xでは、各タグ属性はValueExpressionまたはMethodExpressionのいずれかを取ることになっています。リンクされた例では、「rendered」はValueExpressionのみを受け取ることになっています。ただし、プロパティではなくメソッド呼び出しであることを明確にするために()を配置すると、MethodExpressionで引き続き機能することがわかります。これはJSF2.x仕様がめちゃくちゃになっているものですか、それとも何かが足りないのですか?
jsf-2 - JSF レンダリング属性
1 つは「登録」リンクと「ログイン」リンク、もう 1 つは「ログアウト」リンクを含む 2 つのパネル グループがあります。ログインすると、「ログイン」リンクのみが消え、「登録」はレンダリングされたままになり、「ログアウト」はレンダリングされません。#{user.loggedIn}" は、ユーザーがログインしているときに true を返します。また、デバッグ モードで画面を更新すると、そのメソッドが実行されていることがわかります。これを正しく機能させる方法についての提案。コードは説明的である必要があります。 、そうでない場合はお知らせください。
javascript - javascriptの値に基づいてui:repeat内でah:panelGroupをレンダリングする方法は?
ブール値を に取得しましたが、 の- 属性<h:inputText>
に取得する方法が見つかりません。また、Bean 値を使用する方法もわかりません。これは、反復ごとに独自の値が必要になるためです。rendered
<h:panelGroup>
これは私のjsfコードです:
これは私のJavaScriptです:
jsf - 条件付きでレンダリングされたf:selectItemの考えられる問題
複数のページがあるかh:selectOneMenu
、p:selectOneMenu
同じページを使用してデータを編集および追加したいと考えています。データを編集するときは必要f:selectItem
です。このコンポーネントには属性がレンダリングされていないことを知っています。そして、私は使用できることを読みました<c:if>
。
Ok。たとえば、私が書く場合
Primefacesやajaxリスナーで問題なく動作しますか?
jsf - JSF が複数の組み合わせ条件をレンダリング
のような条件を与える必要があります
JSF でレンダリングされた属性。
誰でも助けることができますか?
jsf - Ajaxの更新/レンダリングは、属性をレンダリングしたコンポーネントでは機能しません
条件付きでレンダリングされたコンポーネントをajax-updateしようとしています。
ただし、それは機能しません。#{user}
私はそれが実際に利用可能であることを保証することができます。これはどのように発生し、どうすれば解決できますか?