skillup

技術ブログ

Java

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

投稿日:2015年8月1日 更新日:

少々細かいですが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

JavaEEでリダイレクトを伴うデータ入出力(flashの活用)

JavaEEで何らかの処理を行い、リダイレクトさせる場合、リダイレクト前のデータを保存し、リダイレクト後のページにデータをもちこしたいときなどがあると思います。 オブジェクトの変数自体はスコープアノテ …

no image

Map,KeySetでのSteam

日常で一番よく使うMapループ系処理について Map KeySetのStreamでの書き方 Map<String,String>でEntrySetではなく、KeySetで展開したいときなど …

no image

JPAでのデータベースとの同期

このブログでも何回か書いてきたJPAですが、新規レコードをインサートさせた際IDを取得し、そのIDをもとに何らかのキーを作る、そういう処理があったので紹介させていただきます。 何回か書いてますが、JP …

no image

新アプリの本番環境デプロイについて

新しく作ったWEBアプリを本番配置しようとしたんですが、何度もやっているはずの処理がいざやろうとするといろいろと手間取ってしまい、1時間近くかかりました。 容量悪いなーと思いつつ、こういった行為はなる …

no image

配列からListへの変換

配列からListにしたいとき、ループでいちいち回さなくても下記の処理で一気にListに変換できます。

Netbeansに教えてもらいま …

アーカイブ