問題タブ [ajax4jsf]
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 - subTable が a4j:commandLink の reRender を壊すのはなぜですか?
内部に a4j:commandLink を含む最小の rich:dataTable の例を次に示します。クリックすると、AJAX リクエストが Bean に送信され、dataTable が再レンダリングされます。
上記の例は、これまでのところ正常に動作します。しかし、テーブルに rich:subTable (ガレージごとに車をグループ化するなど) を追加すると、再レンダリングが失敗します...
現在、rich:dataTable は再レンダリングされませんが、ページを手動で更新した後にアイテムが表示されないため、アイテムは削除されます。
ここで subTable が reRender-ing のサポートを壊すのはなぜですか?
タンク・トム
jsf - Richfaces a4j:2ページのロードを含む?
メインの JSF ページに、この一見無害なコードがあります。
サイドバーは次のように変化します。
jsFunction は、UserSession でページ (「sidebar2.jsp」など) を設定するバッキング Bean メソッドを呼び出します。
jsFunction には「rerender='sidebarContainer'」が含まれているため、正しいページがサイドバーに読み込まれます。
JBoss 5 で Web アプリケーションを最初に起動したときに、jsFunction を呼び出してページを変更すると、sidebar2 が表示されますが、その下に元のサイドバー (sidebar1.jsp) が表示されます。
この最初の奇妙さの後、サイドバーの切り替えは問題なく機能します。何かご意見は??
seam - richfaces progressBar ポーリング
私のWebページで次のように定義されたprogressBarコンポーネントがあります。
そしてボタン:
これは機能しません。しかし、私が取り出した場合
プログレスバーとボタンの要素から、すべてがうまく機能しているようです.
なぜそれが機能しないのか、何か提案はありますか? ボタンがクリックされない限りポーリングを開始したくないため (不要なポーリングを減らすため)、最初に enabled="false" を設定しています。
このシステムは、richfaces/seam 上に構築されています。
ありがとう!
java - データテーブルを使用してjsfで再レンダリングが行われていない
私のコードでは再レンダリングが機能しません:
上記のコードでは、データテーブルに適切なid
ものがあり、次を使用して ajax 呼び出しを呼び出しています。
サーバーにアクセスして適切なメソッドを呼び出し、必要なリストを更新していますが、応答がありません。レンダリングされないのはなぜですか?コンソールにも例外は表示されません。
jsf - a4j reRender 後にフォーム値が Seam Bean に渡されない
Seam で webapp を作成していますが、解決できない問題に遭遇しました。
顧客がコンボボックスから予約タイプを選択できる JSF フォームがあります。選択した値に基づいて、他のフォーム コンポーネントがレンダリングされます。
例: 顧客が予約タイプとして時間を選択すると、顧客が開始時間と終了時間を選択できる panelGroup がレンダリングされます。ただし、顧客が予約タイプとして「1 日の一部」を選択した場合、1 日の一部 (朝、午後、夕方) を選択できる selectOneMenu がレンダリングされます。
再レンダリングはうまくいきますが、レンダリングされた条件付きのコンポーネントの値は Bean に渡されません。それらは null 値のままです。
これは私が話しているコードです:
注: カレンダーの値は Bean に戻されますが、このコードの値は渡されません (レンダリングされた条件を削除すると渡されます)。
jsf - JSF 1.1 + Ajax4jsfでページのちらつきを避けるには?
JSF 1.1、Ajax4jsf、Tiles を使用して小さなアプリケーションを開発しています。をクリックするa4j:commandLink
と、ページ全体がリロードされます。ページの一部だけを更新したい。それを解決する方法は?
jsf - h:selectOneMenuでa4j:supportのonchangeイベントを使用する
Bean1.onSelectOneMenuChange()
Bean1.textbox1
、、、およびの値Bean1.textbox2
を変更します(選択した値に応じて)。すべてのテキストボックス値を変更する場合もあれば、一部のテキストボックス値のみを変更する場合もあります。Bean1.textbox3
Bean1.textbox4
(Bean1.val1)
ユーザーが「selectOneMenu」ドロップダウンリストコントロールの値を変更すると、JSFフレームワークはモデル値の更新フェーズを呼び出さず、Bean1.onSelectOneMenuChange()
直接呼び出します。その後、すべてのテキストボックスがreRenderになります。モデル値の更新フェーズが呼び出されないため、ユーザーが入力した値にBean1が設定されることはなく、元の値がの後にテキストボックスに表示されreRender
ます。
聞きたい:
内部のモデル値の更新フェーズを手動で呼び出すにはどうすればよい
Bean1.onSelectOneMenuChange()
ですか?内部のユーザーが入力した値を取得しBean1.onSelectOneMenuChange()
て、の対応するフィールドに設定するにはどうすればよいBean1
ですか?もう1つのアプローチは、Bean1.onSelectOneMenuChange()内で値が更新されるテキストボックスのみを再レンダリングすることです。ただし、多くの場合があります。たとえば、値はすべてのテキストボックス値を変更し、値は一部のテキストボックス値のみを変更する可能性があり
reRender
ます。条件付きでどうすればよいですか?保守性のためにどの方法がより好まれますか?
アップデート :
ポイント2については、のreRenderプロパティがEL式を受け入れることができることがわかったので、使用してみました
Bean1.onSelectOneMenuChange()内で、Bean1.reRenderIDListを、ビジネス要件に基づいて再レンダリングする必要のあるIDのセットに設定しました。Bean1.getRenderIDList()
ページが更新されたときに実行されます。ただし、<h:selectOneMenu>
UIでの値を変更すると、Bean1.getRenderIDList()が再度実行されることはありません。したがって、テキストボックスをreRender
?
何か案が?
javascript - 外部 Java スクリプト関数による oncomplete イベントの参照
a4j:commandButton の oncomplete 属性で何らかのロジックを実行したいのですが、ロジックが複雑すぎます。外部の java-script ファイルにある Java スクリプト関数を使用してコードを参照し、メンテナンスを改善できますか? JavaScriptファイルがEL式を理解できないため、エラーが発生していることがわかりました。
たとえば、もともと私は、
私はこのようなことをしたい:
コードは、外部 Java スクリプト ファイルにある Java スクリプト関数 Btn1OnComplete() 内に配置されます。
ありがとう
jsf - Seam:トークンタグが尊重されていない
コマンドボタンをクリックし、ブラウザの戻るボタンを押してフォームに再度クリックすると、適切な例外をスローせずに2回目の送信が行われます...
さらに奇妙なことに、私が戻ってきたときのフォームID自体は異なります。これは、ある時点で「有効な」フォームIDが再生成されたことを意味します。
関連するコードは次のとおりです。アイデアはありますか?
明確化:
- これを継承したので、できるだけ変更しないようにしています。(いくつかの場所で使用されています。)
- 各アクションは、nullではなくビューを返します。私はこれを行ごとにステップスルーすることで確認しました。
- 私の現在のテストケースでは、reRenderListは空です。
- onActivationCompleteも空です。
テンプレートごとに、誰かがネストされたフォームでそれを作成したかどうかを確認します。これは、同僚がそれによって無関係の問題を抱えていたため、考えられる問題としてそれを排除するのに害はありませんでした。
jsf - JSF - 別のコンポーネントをクリックすると、jsf コンポーネントが再表示されます
アップロード ダイアログを表示するボタンを作成しようとしています。これを達成しようとしている方法は、次のようになります。
バッキング Bean 内のコード:
「クリックしてください」ラベルを押すと、switchTestRendered が実行されていることがわかりますが、「hideme」コンポーネントは表示されません。
助言がありますか?ありがとう!