台風が接近中です。ワクワクテカテカ。
さてstruts2をお勉強というか、調査中です。
調べれば調べるほど便利だなーと思うのですが、これをプロジェクトで使うためにどうやって周知しようかなと悩みどころです。Struts1はまったくの別物ですし・・。ただ、古くさい実装は殆ど排除されていてとても使いたい。
Struts1を文句を垂れながら改造して使うよりも、最近の流行を取り込んでいるStruts2を勉強して使った方が良いと思うのですよ。もちろん、今までのノウハウは使えませんけどね・・。
さて、設定ファイルベースのValidationが動作しないと1時間ほど悩んでいたのですが、原因がわかりました。。
設定ファイルの名前間違ってた・・・orz
「アクションクラス名-validation.xml」、または「アクションクラス名-アクション名-validation.xml」と理解はしていたのですが、アクションクラス名が「SayHelloAction」、ファイル名を「SayHello-validation.xml」としていました。「SayHelloAction-validation.xml」が正しいのにね(ぐすん)
このValidationの設定は他にもアノテーションを使う方法とアクションクラス内でロジックを書く方法があります。
そのうちWikiに載せます。
勉強といえば、この前の休みは情報処理の国家試験だったようですねー。
誰か受けた人いないかな?
最近の試験はどんなもんなんでしょ。
私も今度受けてみようかな。
定義ファイルベースでValidationをかけた場合のエラー文言は<s:fielderror>で取得できますが、<ol><li>は絶対に出力されちゃうようです(themeがsimpleの場合)。
何か回避策がないかなーと思ってソースを見てみたのですが、simple/fielderror.ftlの中でおもいっきり<ol><li>を出力しているので、むりぽ・・。
どうやら、別のテンプレートを作成するしかなさそうです。
(試しにtemplete="empty"なんて入れたら案の定何も出力されませんでしたw)
この際だから、1個づつ表示したい場合に備えて<fielderror><param>なんてだるいから一発で記述できるタグを自作するのが良さそうですね。