手を動かす。

 今まで、S2JSFはサンプルを眺めて来たけど、そろそろ自分で何かを作ってみることにする。

まずは、普通の使い方を勉強してみる。全体のイメージがつかめないと先に進みにくいのでサンプルで動きを確認。以下のような感じかな? バリデーションは、また後にしよう。

  1. ブラウザからアクセス。
  2. <html>要素に書いたm:actionに指定されたコンポーネントが呼び出される。(初期化用途)
  3. 画面が表示される→ユーザによる入力・送信。
  4. <input>要素のm:actionに指定したコンポーネントが呼び出される。
  5. 呼び出されたコンポーネントからの戻り値(文字列)とfaces-config.xmlに従って、画面遷移が実行される。

 初期化は<html>要素のm:actionに書く。最初、これが分からず、名前で勝手にやってるのかと思った(^^; 大きな間違い。

 DTOは、diconファイルでinstance属性をrequestかsessionに、Actionはrequestにしておく。requestとかにするから、diconファイルの<component>要素で、name属性が必要になるっと。

 m:actionに指定するメソッドの戻り値がnullだとそのまま、同じ画面に遷移する。

 faces-config.xmlの<navigation-case>に<redirect/>を指定するとリダイレクト(302 Moved Temporarily)、指定しないとフォワード動作になるらしい。つまり、diconファイルのDTOの定義にrequestを使いたければ、<redirect/>は指定してはいけないと。恥ずかしながら、こんなところでハマリました(⊃д⊂)

 テキストボックス1つでも、色々わからないことだらけだなぁ。