CLICK

MapなForm

未テスト。「$form.submit_button」とかできるのではないかと。 public class MapForm extends Form implements Map { public MapForm() { } public MapForm(String name) { super(name); } public void clear() { super.getFields().clear(); } public bool…

OGNLColumn

てきとーに実装。未テスト。 public class OGNLColumn extends Column { public OGNLColumn() { } public OGNLColumn(String name) { super(name); } public OGNLColumn(String name, String title) { super(name, title); } protected Object getProperty(O…

Columnでメソッドを呼び出す

「new Column("xxxxx", "たいとる")」としても、xxxxxプロパティしかとれないので、getProperty()をオーバーライド。 Column column = new Column("date", "日付") { protected Object getProperty(Object row) { Foo foo = (Foo) row; return DateFormatUti…

Cayenne + Click

DataContextFilterが参照するServletUtilのパッケージ名が古いまま…。 パッケージ名、そのままにして欲しかったなぁ > Cayenne Clickが2.0に未対応(みたい)でした。 http://www.mail-archive.com/cayenne-user@incubator.apache.org/msg01308.htmlリポジトリ…

$imports

(ほぼ)必須だけど、あまり詳しく書いてないような。

Click Framework version1.0

http://click.sourceforge.net/ (via yojikのブログロ) 次回の案件に使えるといいなぁ…

Click Framework 1.0 RC2

http://www3.vis.ne.jp/~asaki/p_diary/diary.cgi?Date=20060907#2006090700 おぉ〜メモメモ。 FlashAttributeは面白そうだなぁ。

(たぶん)10分で作るClickアプリ

http://storehouse.sakura.ne.jp/hatena/10_minuit_click_app.htm scaffold生成機能を付けたのはこれがやりたかったわけで。 なんか早回しっぽくなってしまった…

タイプセーフなアクションリスナ

http://amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi/click?page=TypeSafeActionListener は〜、なるほど、なるほど。

Validationをテンプレートで定義

直感的に書けるんじゃないかと思って試してみた。 ページ public class Login extends Page { public Form form = new Form(); public static RegexField user = new RegexField("user", "ユーザ名?"); private PasswordField passwd = new PasswordField("…

Click Wiki

おぉ〜

ActionButtonの中身

<input type="button" name="login" id="login" value="ログイン" onclick="javascript:document.location.href='/click_sample/login.htm?actionButton=login';"/>JavaSctipt使ってるのか。 なるほど。

続・文字コード

http://d.hatena.ne.jp/winebarrel/20060804#p10 文字コードを変えたときは、click.xmlのcharsetも変更する必要がある。 <click-app charset="MS932">UTF-8のままだとSubmitのコールバックが動かなくなる(ことがある)。 すこしハマった。</click-app>

バリデーションを定義してみる

ユーザ定義のバリデーションを、RegexFieldを使わないで定義してみる。 ページ public class Login extends Page { public Form form = new Form(); private TextField user = new TextField("user", "ユーザ名", true) { public void validate() { super.va…

デフォルトのエラー画面がなんかすごいんですけど…

まあ、一部のエラーだけだけど。

Tableコントロールを使ってActionTableを作る

なんかトリッキーなコードになってしまった… そーゆー使い方はするなってことか? ページ public class Index extends Page { private Database dbh = null; public Table table = new Table(); public ActionButton selector = new ActionButton("selector"…

もうすこしページをめくる

ちゃんとTable Pagingなどというサンプルが用意されているので、もう少しページをめくる。 ページ public class Index extends Page { private Database dbh = null; public Table table = new Table(); public Index(Database dbh) { this.dbh = dbh; table…

まだページをめくっている

「次」とか「前」とかの部分をいじれないのかね…と思って調べる。 どうやらTableコントロールを拡張するよう。 こーゆー「コードでカスタマイズしてね」的設計は結構好きだ。 ページ public class Index extends Page { private Database dbh = null; public…

ページのある画面からの遷移

yojikさんのコメントから。 上のような画面で[別ページ]へ遷移するためのコードが、以下のようになる。 ページ public class Index extends Page { private Database dbh = null; public Table table = new Table(); public ActionButton other = new Action…

静的なページ

Pageクラスは必須? 設定で何とかできそうな気が…

文字コード

何も指定しないと入出力の文字コードがUTF-8になる。 入力のエンコードをSJISに変更するには、WEB-INF/配下にvelocity.propertiesを追加して「input.encoding」を設定する。 input.encoding=MS932 出力のエンコードをSJISに変更するにはclick.xmlでContent-T…

ActionButtonを使ったActionTable

ActionLinkを使った例しかないので。 ページ public class Index extends Page { private Database dbh = null; public ActionButton select = new ActionButton(this, "onSelectClick"); public String selected = ""; public Index(Database dbh) { this.d…

リスナーメソッド

ClickServletのコード。 if (continueProcessing && page.hasControls()) { // Make sure dont process a forwarded request if (!page.getContext().isForward()) { List controls = page.getControls(); for (int i = 0, size = controls.size(); i Contro…

ページをめくってみる

僕のコードは間抜けだけど、Clickはすげー。[ページ] public class Index extends Page { public ActionButton prev = new ActionButton(this, "onPrevClick"); public ActionButton next = new ActionButton(this, "onNextClick"); private int start = 0; …