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

Javaでのメール送信プログラム

Javaでメール送信のプログラムがあったんで、メモ。 SMTPの認証とかはせず一番簡単なパターンです。 ケースでいうとサーバーA、サーバーBがあり下記のようなケースです。 A メールサーバー(smtp …

no image

テストコードの実装

以前、テストコードの大切さを力説しましたが、実際に書いてみると作業の安心度が全く違います。 やはりメソッド単位での確認やデバッグができるのは非常にありがたいです。また時間がたってもテストコードを見るこ …

no image

Map,KeySetでのSteam

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

no image

ページャープラグイン dataTable

レコードを一覧表示する上で意外と面倒くさいのがページャーでしょう。 自力で作成してもよいのですが、なかなかこれが面倒だったりします。 また近年ではリンクを踏ませずに、スクロールするだけで表示ができる形 …

no image

Fileオブジェクトの操作

業務でテキストファイルを読み込んで、別形式に変換して出力みたいなアプリを作ったときにファイルオブジェクトについていろいろ調べたんでまとめておきます。 Contents1 ファイルオブジェクトとは?2 …