S2JSF

JavaScriptを自由に使えない?

例えば0〜100個まで可変に並ぶ数値が入力されているテキストボックスの値を、合計欄に表示するJavaScript。これはサーバサイドでなくクライアントで処理したい。こういう場合にテキストボックスへはどうアクセスしたら良いんだろう?onchangeイベントで数値…

{0}←部分の国際化対応

javax.faces.component.UIInput.REQUIRED = {0}を入力してください。 <input id="ユーザID" type="text" m:value="#{loginDto.userId}" m:required="true" /> 「ユーザIDを入力してください。」と出る。 国際化対応の方法が?自前のValidator作ればいけるかな。

JavaScriptで名前を指定してフォームを操作

id or name属性を指定してフォームの操作ができないものかと四苦八苦中。素直に書くとid属性もname属性もJSFによって書き換えられてしまうためアウト。JSFかつJavaScriptごりごりのサンプルを探し中!デザイナから上がってきたHTMLをそのまま使えて、コード…

setRequest(), setResponse()でエラー

ActionクラスにsetRequest, getRequestというメソッドを定義すると 例外 javax.servlet.ServletException: getInstanceMode 原因 java.lang.UnsupportedOperationException: getInstanceMode とExceptionが発生します。ちゃんとメソッドも実行されてバインデ…

web.xmlの取り込みも必要

net.sourceforge.myfaces.webapp.StartupServletContextListener ↓ org.apache.myfaces.webapp.StartupServletContextListener 差分だけ取り込んでいたらいろいろ面倒になったので、全部置き換えた上で差分を追加する事にしました。

エラーメッセージの定義

MyFacesのリソースファイルからコピーして改変すると漏れなく簡単に書ける。 src/myfaces/javax/faces/Messages_ja.properties <input id="ユーザID" type="text" m:value="#{loginDto.userId}" m:required="true"/> と書いて、 <span m:inject="h:messages" m:globalOnly="false" m:showDetail="true"/> と書いて、メッセージリソースに javax.faces.component.UIInput.REQUIRED = …</span>

のvalue属性

どうやっても値が入らない模様。value属性そのものが出力されませんもん。なんの問題ないけど。出ないと兆戦したくなりません?(笑)

作成手順をメモりはじめる

まず初めにやる事。ネームスペースの宣言。これが無いとオハナシニナラナイ! <html xmlns:m="http://www.seasar.org/maya"> 手順化しておけば後の人が楽チン!</html>

こんなモックアップは駄目

<body onload="document.form1.userId.focus();"> <form method="post" name="form1" action=""> <input type="text" maxlength="8" name="userId"> </form> </body> formタグのnameもidも勝手に書き換わるので、onloadで書いてあるJavaScriptはエラー。JSFってJavaScriptが非常に書きづらいような。

&nbsp;が文字化けする

本番用のモックアップをS2JSFを介して表示したら文字化けしてしまった。formタグの入れ子にすると化けている??

cannot add component '_idNN'

HTML変更するとたまに出る。リロードするたびに '_idNN'のNN部分がインクリメントされていって、何度もリロードしていると普通に画面が表示される。_id14から始まって、_id34くらいで表示されたかな?再現を試みると出ないのが悔しい(>_

興味本位で遊んでみる事

サーバサイドコメントはあるのか(HTML上に表示されないんコメント) 毎リクエストごとに確実にHTMLをコンパイルさせるように改造するにはどこをイジるか モックアップのダミーデータを削除して、空っぽのHTMLを生成できるか なーんて事を時間がある限り遊んで…

S2JSFに入門するには

JSFの仕様を知っていると楽チンな模様。というわけで本屋さんでJSFの本を買いに行こう〜。っと、その前にWEBであらかた仕様をつかんでおいて、さらにS2JSFをイジル。ホントはMyFacesのソースも追いたいけど、今は時間が無いし、内部の構造を知るよりは、単純…

初期化メソッドのreturn nullの意味は?

メソッド名をinitializeにしないと無限ループしたり、return "";にすると無限ループしたりとこんがらがってきました(笑)とりあえず付属サンプルのEmployeeSearchInitActionImpl.javaのinitializeメソッドの戻り値をreturn null; から return ""; にするとエ…

2回表示されたり無限ループしたり

付属サンプルのadd.htmlのbodyタグのすぐ下に以下のように書くとformタグが2回出力されます。 <span m:inject="s:invoke" m:action="#{addAction.calculate}"/> #もちろん意味の無いコードですが。 自分で作ったページでは無限ループしちゃったり、だんだんおもしろくなってきました(笑)よし、謎を解くぞ〜〜〜追記:原因</span>…

ひとりごと

現状のマニュアルが整備されていない状態で、そこそこ作れるようになって、迷いが薄れるまで丸3日くらいかかると思われます。いきなりとっかかると難しいなぁ〜。これでS2の事知らなかったら3日じゃとてもすまない気がします(^^;やりたい事が明確なので、そ…

使うぜS2JSF EA5

EA5のExampleをダウンロードしてきて、Eclipseに入れてTomcatを起動してアクセスしてみると [ESSR0007]S2Containerはnullあるいは空であってはいけません ぐはっ!最初っからセットアップに失敗しちゃってますから…というわけでドキュメントを見ようとすると…