2006-10-01から1ヶ月間の記事一覧

TypeSafeActionListener

http://amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi/click?page=TypeSafeActionListenerなるほど・・・すごいねぇ〜Swingとかと同じに使えそうですね〜 Stringでコールバックメソッド定義するの嫌だったので目にうろこです!

Clickその1 まとめ

というわけで散々書き貯めたこのテキスト 途中からはただの中途半端な翻訳になってしまったわけですが・・・ 本来はもう少しためてから・・・と思ってたんだけどね 気づいちゃったわけですよ。何に?って http://amateras.sourceforge.jp/cgi-bin/fswiki/wik…

Config click-app

click-appには、charsetと、localeがあります。 charsetで指定した文字エンコーディングは、 Velocityのテンプレート requestのエンコーディング pageのContent-typeのcharset に使用されます。 なので、以前の記述にある、headersでの、指定は特に必要ない…

Config Application Configuration

簡単なclick.xmlは以下のようになります。 <click-app charset="UTF-8" locale="de"> <pages> <page path="index.htm" classname="com.mycorp.page.Home"/> <page path="login.htm" classname="com.mycorp.page.Login"/> <page path="logout.htm" classname="com.mycorp.page.Logout"/> </pages> <headers> </headers></click-app>

Config Servlet Configuration

まずは、ClickServletの設定を必要とします。 web.xml <web-app> <servlet> <servlet-name>click-servlet</servlet-name> <servlet-class>net.sf.click.ClickServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>click-servlet</servlet-name> <url-pattern>*.htm</url-pattern> </servlet-mapping></web-app>

Configuration

設定ファイルは、 WEB-INFの下に、web.xml、click.xmlが必要となります。 また、オプションとして、velocity.propertiesを含むことが出来ます。

Control 参考すべき箇所

FromのLayoutやら、VOへのcopyやら便利メソッドが多いので、Formクラスのドキュメントは一読 例) form.setErrorsPosition(Form.POSITION_TOP); でエラー表示がFormの上になる。 nputVO inputVO = new InputVO(); form.copyTo(inputVO); でVOに値がcopyされ…

Control Propertyの優先度

Page Scope Messages > Global Page Scope Messages > Controll Scope Messages > Global Controll Scope Messages となる。

Control Message Properties

Controllにも個別のプロパティとGlobalなプロパティがあります。 Controll Scope Messages com.mycorp.control.CustomTextFieldが存在した場合、リソースは以下にある必要がある。 /com/mycorp/control/CustomTextField.properties Global Control Scope Mes…

[Click] Control 文字化け

このあたりで、入力チェックに引っかかった場合などのメッセージが文字化けしていると思います。もしくはページに日本語を使用していた場合に大惨事になってるかもしれません。 click.xml にHeaderの指定している人は <header name="Content-Type" value="text/html; charset=shift_jis"/>と追加しましょう。もちろんページごと</header>…

Control 例

以下のような実装をしたとします。 public HomePage() { ActionButton actionButton = new ActionButton("button","buttonLabel"); actionButton.setListener(this, "onButtonClick"); addControl(actionButton); } public boolean onButtonClick() { System…

Control

画面側で発生したイベントをサーバ側で取得する仕組みです。 以下のようなシーケンス図(http://click.sourceforge.net/images/control-post-sequence-diagram.png) Controlは以下のインターフェースを実装する(http://click.sourceforge.net/images/contr…

Page Message Properties

Pageクラスは、messagesというプロパティを持っていて、これまた、画面に表示することが出来る。 以下は、titleというプロパティを表示する例 $messages.title このmessagesは以下の場所からLoadされる。 PageScopeMessages この場合、Pageクラスがcom.mycor…

Page エラーハンドリング

例外のハンドリングについては、 デフォルトで用意されている。 実際には定義されてはいないが、以下の指定がされているのと同等である。 <page path="click/error.htm" classname="net.sf.click.util.ErrorPage"/>独自実装がしたい場合には、clickサブディレクトリの下に、error.htmを作成し、 <page path="click/error.htm" classname="com.mycorp.page.ErrorPage"/>のように、独自の例外Pageを作成する。</page></page>…

Page PageTemplating

StrutsのtilesのようにTemplateを使用することが出来る。 テンプレートPageの作成 まずは、templateとなるクラスを、Pageを継承して作成 public class BorderedPage extends Page { /** * @see Page#getTemplate() */ public String getTemplate() { return …

Page 画面遷移

forwardの場合 _/** * @see Page#onPost() */ public void onPost() { // Process form post .. setForward("index.htm"); } このようにすると、遷移先の新しいPageインスタンスを使用する。遷移先のPageのコントロールは実行されない。(?) 値の引継ぎ 方…

Page の method

onInit() onSecurityCheck() onGet() onPost() onRender() onDestroy() 以下のようなシーケンス図(http://click.sourceforge.net/images/get-sequence-diagram.png) onInit() FrameWorkがいろいろした後に初期化処理として利用 onSecurityCheck() 認証など…

Page セキュリティ

onSecurityCheckメソッドが用意され、securityの拡張ポイントがある。 実際のコードは用意してあるものを利用すればよい。 Application Authentication ログインページで、認証を行い、成功した場合はsessionを作成するアプリケーションがあるとする。ログイ…

Page その1

画面に対して、Pageを継承したクラスを用意する。 こんなクラス図。(http://click.sourceforge.net/images/click-class-diagram.png) Contextオブジェクトには、コンテキスト情報が含まれている。requestやらsessionやらを使用したい場合などに使用する。 …

ClickFrameWork

http://click.sourceforge.net/ Page駆動のFrameWork 設定ファイルとして、click.xmlをweb.xmlと同じ場所に配置。 <page path="search.htm" classname="com.mycorp.page.Search"/>こんな感じの記述</page>

Page駆動

SeasarをDIとしてではなく、teedaを中心に調べてたわけだけど・・・ (ってなんかおかしいな・・・文章・・・粒度が違うというか比べられるわけないけど)Page駆動ってのは流行だし、わかりやすいし、 がんばればかなりオブジェクティブかな〜と思う。ただ、…

価格.com API + Relaxer

http://apiblog.kakaku.com/KakakuItemSearchV1.0.html 価格.comでもAPIが公開されました。 以前YahooJapanAPIの時は、JaxMeなどでマッピングしたけど、 今度はrelaxerを使用してみようということで実験 Relaxer1.1はインストール済みで、 RELAX_HOMEが環境…