問題タブ [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.
java - jsfレンダリング属性で2つの異なるBeanから条件を指定するにはどうすればよいですか?
次の行に沿って何かをしたいのですが、このように使用すると、エンティティが「&」文字の直後に続く必要があることを示す解析エラーが発生します。
2つの異なるBeanから条件をチェックするようにレンダリングするにはどうすればよいですか?
jsf - 外部テーブルのレンダリングされた状態を尊重しないJSF内部データテーブル
JSFに問題があります。私はここで問題を抽象化しました、そして誰かが私がしていることがどのように失敗するかを理解するのを手伝ってくれることを望んでいます。アイテムのリストをループしています。これらのアイテムは、実際にはサブクラスTypeAおよびTypeBのインスタンスです。タイプAの場合はオプションを表示し、タイプBIの場合は需要を表示します。初めてページをレンダリングするとき、これは正常に機能します。ただし、何らかのアクションのためにページに投稿し直すと、エラーが発生します。
JSFライフサイクルについての私の把握は非常に荒いです。この時点で、ApplyRequestValuesフェーズに非常に早いエラーがあることを理解しているため、以前の状態が復元され、何も変更されません。
私が理解していないのは、「item.typeA」をレンダリングするための条件を満たすには、そのオブジェクトがTypeAのインスタンスである必要があるということです。しかし、ここでは、TypeBのインスタンスであるにもかかわらず、そのオブジェクトが条件を通過したように見えます。これは、外部(outerItems)を評価する前に内部dataTable(InnerItems)を評価しているようなものです。私の実際の仮定は、レンダリングされた属性が実際にどのように/いつ評価されるかを理解していないということです。
jsp - JSF UIComponentがjspファイルで有効かどうかを確認するにはどうすればよいですか?
jspファイルで、そのページでコンポーネントを見つけて、そのコンポーネントが有効かどうかを確認する方法はありますか。
入力フィールドと、入力フィールドで検証が失敗した場合に表示される複雑なhtmlを含むpanelGroupがあるとします。私が本当に探しているのは、panelGroupのレンダリングされた属性のEL式です。
カスタムバリデーター関数を試してみました。ここでは、panelGroupsのレンダリング値をtrueに設定しています。ただし、このフィールドが空の場合はカスタムバリデーター関数が実行されなかったため、必須フィールドで失敗しました。
今のところ、定期的な検証を完全に回避し、送信時にすべてを検証するためにかなり醜いコードを使用しています。次に、結果を多くのインスタンスブール値に格納します。これらのブール値は、panelGroupsでのレンダリングに使用されます。
どんな助けでも大歓迎です
java - render 属性を持つ jsf コンポーネントが検証に失敗する
レンダリングされた属性を持つパネル グリッドがいくつかあります。ドロップ ダウン リストの値変更イベントで、パネル グリッドの 1 つを表示します。これは正常に機能します。しかし、パネルが表示された後、パネル グリッド内のコンポーネントに関連付けられたすべての変換と検証が失敗します。
コンポーネントが単一でグリッドの外にある場合でも、検証に失敗します。
レンダリングされた属性に何か欠けていますか? JSFライフサイクルで何かが起こっていますか?
どんな助けも本当に役に立ちます...
前もって感謝します
私はjsf 2.0 mojarra実装を使用しています。
jsf - Faceletカスタムコンポーネント-レンダリングを防止します
この答えを読んだ後、私はまだ困惑しています。私は、JSTLを回避し、その評価が間違ったフェーズでどのように行われるかを理解する必要があることに同意します。ただし、facelets開発サイトのドキュメント<ui:fragment>
によると、タグは2つの属性とをサポートしてid
いるようbinding
です。したがって、いくつかの実装サポートがあったとしてもrendered
、それを利用する運命を誘惑するように思われます。ただし、もう1つの提案は、応答に要素<h:panelGroup>
を挿入する<div>
ことで、望ましくない副作用(コンテンツをインラインからブロックに変更するなど)を引き起こす可能性があります。誰かがこれを回避する方法を知っていますか?特に、私は次のことを試みています。
これは基本的に、名前と説明を含む要素を選択するために使用されるリストボックスであり、選択するとユーザーがそれらを編集できるようになります。ブロックの周りに配置し<ice:panelGroup>
て、そのレンダリングされた属性を使用することもできますが、この場合も、追加のdivを挿入すると副作用が発生する可能性があります。これを機能させる方法はありますか?
また、上記のカスタムコンポーネントをこのfacelet-taglibと組み合わせて使用していることにも言及する価値があるかもしれません。
jsf xhtmlでこれを使用できるようにするには:
java - render="false" ですが、ah:dataTable の内容は常に評価されます
JSF 2.0 の HtmlDataTable に問題があります。私の Web ページには、ah:dataTable と、ユーザーがログインしている場合にのみ表示されるその他のコンテンツがあります。
HtmlDataTable のコンテンツは、データベースから読み込まれます。ユーザーがログインしていない場合、h:dataTable はレンダリングされませんが、コンテンツは引き続き評価されます。
Web ページのコードは次のとおりです。
getAllXxx() メソッドでは、メソッドの呼び出しを記録しています。ただし、h:dataTable (および他のすべてのコンテンツ) がレンダリングされない場合でも、getAllXxx() メソッドが呼び出されます。
h:panelGroup の代わりに c:if を使用しようとしました。それは機能しますが、ログインプロセス中に問題が発生するため、これは適切な解決策ではありません.
これを修正する方法を知っている人はいますか?前もって感謝します。
jsf - JSF: レンダリングされた属性が原因の空きスペース
レンダリングされた属性を介してレンダリングされていないコンポーネントによって空のスペースを取り除くにはどうすればよいですか?
オブジェクトのリストを dataTable に表示し、それらが持つプロパティで並べ替えたいと考えています。私はこれが好きですか:plaincopyをclipboardprintに表示しますか?
レンダリングされたもののため、行ごとに1つのアイテムのみが表示されます。どうすればこれを回避できますか? 他の機会にもこれに出くわしました...
ありがとうございました!
javascript - レンダリングされたJSFjavascriptブール値
javascriptフラグに基づいてJSFコンポーネントのレンダリングを切り替える最も簡単な方法は何ですか?ユーザーがHTML5を有効にしているかどうかに基づいて、特定のものを表示したい...たとえば、ジオロケーション、ネイティブ日付ピッカーなど。
ありがとう
jsf-2 - JSF2 複合コンポーネント - メソッド属性の条件が存在する
Richfaces a4j:ajax コンポーネントで実装されたオプションの ajax リスナーを持つ単純な複合コンポーネントがあります。
インターフェイス定義は次のとおりです。
次のコードは、反対のレンダリング条件で 2 つの複製されたブロックを使用して正常に動作します。
しかし、私のコンポーネントははるかに複雑になるため、重複を避けたいと思います...
a4j:ajax でレンダリングされた条件を使用することは、私の最初のアイデアでした:
しかし、それは機能せず、エラーは非常にあいまいです:
ツリーに両方のコンポーネントが必要ないため、 ac:if ハンドラーを試しました。
そして、別のエラーが発生しました (ajaxListener="#{itemList.updateValue}" を使用):
属性が値を返す EL である場合、デフォルト値をテストできます。リスナーが設定されているかどうかを示すブール属性を追加することもできます...または、何もしないcomponentType Beanにデフォルトのメソッドを追加します...しかし、それはきれいではありません...
値またはメソッドバインディングにアクセスせずに属性が設定されているかどうかをテストするにはどうすればよいですか?
アイデアをお寄せいただきありがとうございます。
Rgds、
FM
jsf - JSF ライフサイクルの問題: リクエスト属性が適用される前にコンポーネント ツリーが構築される
検索フォーム、結果を表示するための ui:repeat、およびページャーを含む JSF 2.0 facelets ビューがあります。これは、リクエスト Bean によってサポートされています。フォーム ポストは、現在のページと検索条件で構成されます。ページャーには、データセット内の位置に応じて、次のページと前のページへのリンクが表示され、フォームの検索条件を使用したクエリの結果の数が表示されます。したがって、コンポーネント ツリーはリクエスト属性に依存します。たとえば、次のページのリンクで次のようにレンダリングされた属性を使用しています
ユーザーがこのリンクをクリックすると、POST リクエストに現在のページと検索基準が含まれます。問題は、RESTORE_VIEW でコンポーネント ツリーが既にビルドされていることです。現時点では、リクエスト属性がまだ適用されていないため、検索条件がないため、ユーザーが現在どのページにいるのか、データセット内にいくつのレコードがあるのかわかりません。したがって、このフェーズでは listBean.hasNextPage は false と評価されます。これにより、CommandLink がコンポーネント ツリーから消えるようです。APPLY_REQUEST_VALUES の後、カウント クエリを作成できます。この情報と現在のページを使用して、listBean.hasNextPage を計算できます。ただし、RENDER_RESPONSEまで再評価されないようです。アクションは INVOKE_APPLICATION でまったく呼び出されません。また、迷惑なエラーはありません。
render を c:if に置き換えると動作します。c:if は RENDER_RESPONSE で 1 回だけ評価され、コンポーネントはデフォルトで最初のフェーズのツリーにあります。(まれな、認められた) ケースでは、実際には次のページが存在しないようにデータセットの数が変更され、それでもアクションが呼び出され、ユーザーが不正なページに移動するため、私はそれがあまり好きではありません。また、Facelets で JSTL タグを使用することは一般的に推奨されないことも理解しています。どうしてか分かりません。
APPLY_REQUEST_VALUES の後まで評価を遅らせるトリックはありますか? 現在のリクエストに依存するプロパティでこの属性を使用する方法が必要です。参考までに、これは JBoss ポートレット ブリッジを使用した Liferay 上のポートレット 2.0 アプリですが、一般的な JSF の問題だと思います。
ご回答ありがとうございます。私はまだJSFを学んでいます-私はページャーを書くのはそれほど難しいことではありません:-)