skillup

技術ブログ

Java

JSF リダイレクト後のメッセージ&disabled=true

投稿日:

少々細かいですがJSFネタです。

リダイレクト後のメッセージ

  1. JSFからManagedBeanのメソッドを呼び出す、
  2. 何らかの処理
  3. メッセージをFacesMessagesに入れる
  4. リダイレクト
という一連の手続きの場合、画面にメッセージが保存されていません。
下記のようにしましょう。
参考リンク

h:commandbutton disabled=trueについて

削除ボタン実装時に起こりました。どういう仕様かというと・・

  • 画面は商品データの一覧でチェックボックスあり、チェックボックスにチェックを入れて削除ボタンを押すと該当レコードが削除される
  • ただし、ボタンがついていない場合、削除はできない。つまり画面読み込み時には削除ボタンが押せないようにする

この場合、htmlで<input type=”button”などにdisabled =”disabled”のようなプロパティを設定し、ボタンチェックをトリガーにしてdisabledのプロパティをJavaScriptで変更するということをやろうとしました。

JSFでもh:commandButtonにてdisabled=trueを設置すると確かに読み込み時にはボタンが押せず、チェックボックスに値を入れるとボタンが押せるようにはなるのですが、該当するメソッドに飛びません。(action属性が無効になっている)

どうやらJSFとManagedBeanの連携機能自体にも影響があるようです。

対処法としてはJSFにはdisabled=trueを書かずに、JavaScriptで画面読み込み時にdisabled =trueにしてあげれば大丈夫です。

直接の対処はありませんでしたがcommandButtonの記述があったリンクです。

参考リンク

-Java
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

JSFのメッセージのレンダリング

ManagedBeanとJSFでメッセージのやり取りをする場合、直接メッセージを変数として持たせるよりは、JSFの仕組みを通じてメッセージを出力させたほうが適切です。 Contents1 エラーメッセ …

no image

Seleniumでの画面テスト

普段テストはJunitで単体テストを書いていますが、画面からのテストなどは当然チェックできません。 フレームワークだとどうしても内部構造がわからず画面から直接うごかして確認しなくてはいけないようなケー …

no image

JSFを使ったAjax

現在開発中のサブプロジェクトでJSFからAjaxを使う機会があったので紹介します。 仕様自体は非常にシンプルで下記の画面でプルダウンが変更になったときにDBを見に行って画面の値を更新するような仕様です …

no image

CSVの入出力に関して

業務でCSVの入出力と格闘中。 まあよくある頻出の作業だったりするんですが、自前でやるとなかなか面倒です。 面倒なポイントとしては クオートのエスケープ カンマのエスケープ ヘッダーとの結合 ですかね …

no image

JavaEEとは?

JavaEEのブログといいつつ、JavaEEについて全然書いていませんでした・・・ ちょっとJavaEEについて書かせていただきます。 Contents1 そもそもJavaとは?1.1 Javaの定義 …