- - PR -
JSF、JavaScriptによる動的画面変更
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-06-02 12:20
JSFを使ったWebシステムを開発中なのですが、h:selectOneListBoxタグで表示されたリストボックスの選択内容に応じて、他の表示を変更させようと考えています。
例えば、リストボックスには商品ID、商品名が必要ですが、選択された商品に応じて商品単価の表示を変えるとかをjavaScriptで行う。 このようなことを行いたい場合、selectItemコンポーネントで対応可能でしょうか? それとも、XMLとしてダウンロードさせ、そこからリストボックスを表示させたり、商品単価への表示変更を制御するのでしょうか? 仮にXMLを使った場合、最新状態の商品情報DBの中からリクエスト毎にSELECTさせたいので、XMLファイルをダウンロードできない、と考えているのですが・・・ アイデアや考え方など、ご教示いただければ幸いです。 |
|
投稿日時: 2008-06-02 13:38
javascriptで行う場合、以下の二つは如何でしょうか?
1.商品が選択される時、ajax通信を行い、商品名をサーバから取る。 2.画面表示時、画面に表示する全ての商品の商品名をクライアントに渡して、非表示にする(例えばCSSでdisplay:none)。商品が選択される時、javascriptを使って非表示にした商品のDOMノードを取得し、選択された商品の商品名を表示する。商品が多いときはあまりよくないと思いますが。 _________________ ブログ http://uprushworld.blogspot.com/ 助君 -- あなた専用のカスタマイズ ウェブナビ http://www.sukekun.com/ A website and community for programmer http://uprush.net |
|
投稿日時: 2008-06-02 18:51
uprushさん、アイデアありがとうございます。
ajaxですか、考えてはいるのですが・・・ ajaxによるリクエストを送信した場合、サーバー側ではJSFコンポーネントを使うのか、非JSFのサーブレットとするのか、調べているところです。 アイデア2の案が取り掛かり易そうではありますね。ただ、ご指摘のように、複数のテーブルもどきをダウンロードさせることになったり、エントリーが増えてしまうとパフォーマンスも気になります。 |
|
投稿日時: 2008-06-03 14:27
uprushさんのアイデア通り、cssでdisplay:noneとしたケースは上手くいきました。
ありがとうございました。 で、次なる問題が出てきてしまい、xmlデータを使用することになりそうです。 となると、ajax通信は避けることが出来ないようです。 そうなると、ブラウザ側からのrequestを受ける(非JSFの)サーブレットを作ればよいのでしょうが、なんとかJSFの仕組みを使えないものでしょうか? |
|
投稿日時: 2008-06-03 17:15
自己レスです。
下記URLのサイトでJSFとAjax連携に関して記述されていました。 これをヒントにしてトライしてみる予定です。 http://www.eisbahn.jp/yoichiro/2006/11/jsfajaxui_with_shale_remoting.html 他にもナイスなアイデアがあればご教示いただければ幸いです。 |
1