問題タブ [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 - rich:messages タグは a4j:region にある必要がありますか?
私が取り組んでいる Web アプリには、<a4j:region> タグ内に <rich:messages> タグがある場合とない場合があります。メッセージ タグは a4j リージョン内にある必要があると推測していますが、RichFaces のドキュメントからこれを特定できませんでした。何かご意見は?
前もって感謝します。
java - 'disabled'が設定されている場合、JSF a4j:commandButtonが機能しません
a4j:commandButtonに「disabled」属性を含めると、ボタンのアクションは実行されません。'disabled'属性を削除すると、正しく機能します。私は(私が知っている)特別な検証を行っておらず、検証エラーメッセージも表示されていません。
これが私のページの一部です:
何か案は?ありがとう!
編集:
t:dataTableでpreserveDataModel="true"を無効に設定してみました。
また、a4j:commandButtonとデータテーブルのないテキストボックスを使用してテストを行いましたが、バッキングBeanアクションがまだ実行されていません。
テストに使用される新しいバッキングBeanコードは次のとおりです。
ありがとう!
java - リッチフェイスキープアライブが機能しない
createContent 属性で、バッキング Bean が特定の状態にあることを要求する mediaOutput タグがあります。init メソッドに入力される値のリストが使用可能である必要があります。
したがって、バッキング Bean 全体に keepAlive タグを追加しました。確かに、(richfaces) プロキシ Bean の代わりに backingBean が表示されますが、入力されたリストは再び null です。
これを可能にする方法は?
init メソッドが呼び出され、init メソッドにリストが入力されていることを確認しました。
バッキングビーン
ajax - AJAX 呼び出しは、無関係なコントロールの値をクリアします
RichFaces の a4j:support を使用して、ページ上の一部のコントロールの表示を切り替えています。ただし、h:selectOneRadio ボタン rdoRequestType が変更されると、txtLibraryServerNumber および ID "media" の a4j:outputPanel 内の他のコントロールの値がクリアされます。ページ上の 1 つの AJAX 呼び出しが別の AJAX パネルに干渉するのはなぜですか?
selectOneRadio の a4j:support タグで "process" 属性を使用して、他のパネルのテキスト ボックスの値を Seam Bean に書き込むようにしましたが、効果がありません。私は一体何を間違っているのですか?ヘルプ!気がおかしくなりそうだ!!
null - Richfaces a4j achtionparamがnull値を設定
a4j:actionParam タグを使用してフォームの値をリセットしようとしています。しかし、null 値がターゲット Bean に到達することはありません。コンバーターはそれを正しく受け取り、null を返しますが、Bean に設定されることはありません。
目標は、さまざまな定義済みの値 (先週、先月など) の start と endDate を入力することです。「今週」の値については、endDate を null にリセットする必要があります。
datatable - 動的richfacesdataTable、ajax4jsf、およびreRendering
a4j:outputPanel内で定義され、HtmlDataTableを作成するセッションスコープのバッキングBeanにバインドされた豊富なdataTableがあります。それ自体で、私のコードのその部分は正常に機能しており、dataTableは見栄えがします。
ページの別の部分には、a4j:commandLinksとして作成しているいくつかの基本的なテキストリンクがあり、それらがクリックされると、dataTableは新しい行と列のデータで再レンダリングされる必要があります。行データは正常に更新されますが、列データ(ヘッダーテキスト、幅など)は正常に更新されません。
コードを少し掘り下げた後、HtmlDataTableのバッキングBeanの呼び出しは、そのテーブルの再レンダリング中に行われていないようですが、ページ全体がリロードされると再レンダリングされます。ですから、ここで私を悩ませているのはajax4jsf/reRenderingの部分だけのようです。
reRenderプロセスにdataTable構造を無効にして、バッキングBeanを再度呼び出すようにする方法はありますか?
それが何かを意味するのであれば、私もSeamを使用しています。したがって、それを使用して解決策が見つかった場合は、それも役立ちます。
ありがとう!
java - 豊富な顔とdataTable
濃厚な顔と豆について質問があります。richfacesを使用しているjspページがあり、その中に:rich:extendedDatatableコンポーネントがあります。これは、MainBeanからArrayListとしてデータを取得します(このBeanはmySQLにクエリを実行し、結果をArrayListに入れて後でdataTableに入力します)。datatableには4つの列があり、最初の3つはh:outputLabelsで、最後の1つはチェックボックスです。ここで質問があります。選択した行から情報を取得するにはどうすればよいですか。つまり、ユーザーがチェックボックスをクリックすると、ID /名前またはこの特定の行に関連付けられているものを取得し、ユーザーが[変更されたa4j:ボタンを適用]をクリックすると、データベースが更新され、ユーザーが再度ログインすると、更新された情報を参照してください。たとえば、ユーザーがチェックしたため、チェックボックスが選択されている/選択されていない。それは、それを使って働いた人にとっては簡単な質問だと思います。私にとっては元 フラッシュ開発者はas3で簡単ですが、ここではまだ解決策が見つかりませんでした。助けてください。
更新:
コードを説明して公開しましょう。ユーザーがログインすると、2つのテーブルがあるデータベースにクエリを実行します。1つ目は「アクティビティ」(act_id、名前、説明、日付)で、2つ目は「共通」(user_idとact_idを格納する)と呼ばれます。私の考えは、どのユーザーが各アクティビティに割り当てられているかを示すデータを保存することです。この場合、たとえば、ID1のユーザーはアクティビティ12と3を使用し、ID 2のユーザーはアクティビティ2と4を使用しています。データベースからのクエリが結果を返すとき、適切なデータを使用してArrayListを作成するだけです。したがって、ユーザーがチェックボックスをクリックしてからクエリを挿入し、ユーザーがチェックボックスの選択を解除すると、データベースへのクエリを削除します(ユーザーIDとact_idに基づいて)。これがクエリメソッドのコードです。最初にuser_idを取得する必要があります。
そして、豊かな顔のビュー:
jsf - rich:gmap コンポーネントにマーカーを追加するには?
atribute で gmap マーカーを指定できないことがわかります。このタグ内で a4j 関数を使用する必要があると思います。問題は、私がこのようなことの完全な初心者であることです...誰かがこれを行う方法を教えてもらえますか? ステップバイステップのソリューションは大歓迎です... APIキーとマップコンポーネント(緯度と経度、ズームなどで動作)がありますが、マップの中央にマーカーを残す必要があります...
それを行う簡単な方法があると思います...
アップデート:
これは喜びではありません。すべてをプログラムで実行しようとしましたが、それでも喜びはありません。マーカーが表示されますが、毎回(私の座標に関係なく)左上隅に表示されます。プログラムコードは次のとおりです。
助けてください。
更新 2: map.jsp ファイルの本文:
jsf - Richfaces モーダル パネルと a4j:keepAlive
richfaces (3.3.2) モーダル パネルで予期しない問題が発生しました。ブラウザを開こうとすると、1 つではなく 2 つのパネルが開きます。1 つは中央に、もう 1 つは左上隅にあります。また、色褪せもありません。また、表示、編集、新規の3つのモードがあります。パネルを開くと、ヘッダーに「新規作成...」または「編集...」が表示され、実際には表示されますが、ヘッダーには表示されません。このモーダルパネルを開く前に適切なモードを設定しているため、後者はまったくレンダリングされません。その上、私が作成した他のすべてのページで問題なく動作し、アプリケーションにはそのようなページが数十あります。ここで何が問題なのか理解できません。それを修正する唯一の方法は、非常に奇妙なページから <a4j:keepAlive/> を削除することです。
私のアプリケーションのどこでも問題なく動作するため、コードがここで役立つかどうかはわかりませんが、この場合のみです。したがって、自分のページに配置すると、おそらく問題なく動作します。私の唯一の質問は、これら 2 つの要素 (<rich:modalPanel> と <a4j:keepAlive>) の相互作用に隠れた、またはまれな問題はありますか? それとも、コード内の間違ったコンマ、括弧、または何かを検索するために、さらに 2、3 日を費やす必要がありますか? :)
最も好奇心旺盛な人向け。パネル自体:
パネルを開くボタンの 1 つ:
ボタンのクリックで呼び出されるアクション:
モードチェック:
java - jsFunction はデータを backingbean に渡します
最後に addClip を呼び出している関数 addData(param1,param2,param3,param4) を呼び出している JavaScript があります。
そして、それらをバッキング Bean に渡す必要があります。
しかし、バッキングビーンに値を渡すことができないようです。actionparam に静的な値を設定してみました。しかし、setParam1 メソッドで Systemout を実行しようとすると、null しか出力されません。重要なことを見逃していませんか?