2010-01-01から1年間の記事一覧

グリッド入力でのバリデーション

Wicket のバリデーションエラーメッセージをプロパティファイルに記述するケースは、 以下の場合、通常の書式と異なる。 DataView や、ListView 等のループで、TextField や、DropDownChoice 入力を用意した場合、 (populateItem の中で、入力コンポーネン…

プルダウンの重複チェックの場合、

Wicket で自作する重複チェックバリデータを TextField だけでなく、 DropDownChoice や RadioChoice , CheckBoxMultipleChoice でも考えた時、 悩んだあげくに画面表示している文字列を返すメソッドとIDを返す メソッドを約束するインターフェースを使用…

重複チェックバリデータを作成する

Wicket で、独自バリデータ作成は、単純に言えば、 AbstractValidator を継承して、onValidate メソッドをオーバライドして その中で、検証される値を受け取りNGなら AbstractValidator の error メソッドを 実行することである。 フォーム入力項目相互の…

AjaxButton フィードバックのクリア

Wicket の Ajax Button で、バリデーションエラーを FeedbackPanel に表示させた後、 正常入力して onSubmit を実行しても、特殊の処置をしないとバリデーションメッセージ がクリアされない。 setResponsePage で自ページ再表示すれば、この処置をしなくて…

AJAX でのバリデーション

Wicket AJAX でのバリデーション AjaxButton で form 入力バリデーションエラーをフィードバック表示 (FeedbackPanel の使用)は、通常のFeedbackPanelの追加、 add(new FeedbackPanel("feedback"); の方法では、バリデーションエラーを表示できない。 この…

カレンダー画面表示

カレンダー画面表示することを考えると、表示データ素材そのものをどういう形で持つこと 普遍的なものかを考えると、1行表示分の1週間の日付を表す String を、List で 表現することであろう。→ List<String> である。x月1日が、 水曜の場合、[0]~[2]を任意の文</string>…

Wicket の DropDownChoice 未選択表示

Wicket の DropDownChoice で、選択されていないデフォルトの表示で。 「選んでください」が表示されるがこの文言を変更する場合、、 (未選択の該当する表示) Pageクラスと同じ classpath 階層に、{Pageクラス名}.properties を用意して、 {form-ID}.{…

Wicketユーザ認証(3)

Wicket 認証ページ作成のつづき、3回目 ログイン後の各画面、WebPage 継承クラスの宣言にアノテーション、 @AuthorizeInstantiation でロール名を指定して、記述したロールだけが アクセス可能となり表示する。 ログインできてもロール名が一致しない場合は…

Wicketユーザ認証(2)

Wicket 認証ページ作成のつづき、 ログインページのクラスは、先日投稿した public class UranSession extends AuthenticatedWebSession で、signIn を実行する ことで認証を行う。 public class LoginPage extends WebPage{ public LoginPage(){ // エラー…

Wicketユーザ認証(1)

ユーザ認証して一連のページにアクセスさせることをWicket で試してみた。 作成するページクラスに、アノテーションでロール(Role)名を付けて ページ表示制限できることが良い。 用意するもの(長いので3回に分割して投稿) Wicket で約束の WebApplicati…

Wicket popup画面をフルサイズに

ブラウザIE8 以上を使用する環境ではポップアップ画面を表示させる要求は減少すると 思うが、一応。。。 最初に必要な画面スクリーンサイズを取得、 リクエストサイクルセッティング org.apache.wicket.settings.IRequestCycleSettings WebApplication の in…

Wicket 選択行の背景色切り替え

Wicket で表(グリッド)表示で、画面操作で選択行の背景色を切り替えることをする場合、 Wicket で配布する Example に方法が示されている。 しかしこのサンプルでは、<a>タグ、<a href="#" wicket:id="toggleHighlite"> である為自動的にページリフレッシュが掛かる。 チェックボックスの ON/OFF で行</a></a>…

AbstractCheckBoxModel を使いこなそう

Wicket の DataView に登録する CheckBox コンポーネントで選択状態を表すモデル AbstractCheckBoxModel を継承して用意したりするが、これは、Genereics を 用いて使い回した方が良さそうである。 1個のページしか出現しないならインナークラスにすればよ…

Wicket ページングでのチェックボックス(2)

Wicket PagingNavigator+DataView と form のcheckbox を組み合わせ の続きです。 Dataview生成でデータ読み出しを約束した IDataProvider の実装について、 これは、Google guice で、GridPickModalPage のIDataProviderフィールドに インジェクトさせます…

Wicket ページングでのチェックボックス(1)

Wicket PagingNavigator+DataView と form のcheckbox を組み合わせる。 さらに、選択されたものをモーダルウィンドウで表示する。 (長くなるので2回に分けて投稿する) ----------- HTML 抜粋----------- <div wicket:id="modal"></div> <form wicket:id="myform"> <span wicket:id="paging1"></span><span wicket:id="records"></span> 件 <table cellspacing="0" class="view"> </table></form>

Wicket タブ画面でフォームを。。。

Wicket の TabPanle 画面、AjaxTabbedPanel で、formを使用するには、 親HTML で TabPanel を展開する div タグを form タグ で囲み 親HTML に該当する WebPage で Form コンポーネントを構築する必要がある。 ----- 親 HTML ----- <html xmlns:wicket="">http://wicket.apache</html>…

カナ正規表現

カナの正規表現は、、、全角カナ: ^[ァ-ー]+$全角かな: ^[ぁ-ゞー]+$半角カナ: ^[。-゚]+$Wicket では、バリデーションで正規表現用クラスがある。wicket.markup.html.form.validation.PatternValidatorこれを使えば良いだろう。コンストラクタpublic Patte…

Wicket イニシャライザ

Wicket で、Web 起動時だけ実行するイニシャライザを用意するには、 wicket.properties という名前のプロパティファイルをCLASSPATH直下に用意して イニシャライズ処理として用意する org.apache.wicket.IInitializer 実装クラス名をこのプロパティに記述す…

文字化け発生のミス

Eclipse3.5 WTP , Wicket1.4.9 を試していて、フォーム入力検証でエラーメッセージ 出力させた時、文字化けしていた。 ソースもHTMLも全て UTF-8 で書いていてなぜ文字化け? →実は、Eclipse プロパティエディタ設定が原因だった。 Eclipse→設定→プロパティ…

Wicket で tableタグ,列毎に異なる色を、

Wicket で tableタグ表示、列毎に異なる back ground 色を表示する場合、 (偶数列、奇数列で色を指定する場合のテクニック) CSSスタイル属性、class 名をwicket IDで展開される tr タグに属性をつけることになる。 Java ソースは、、、 import org.apac…

mybatis の foreach

iBATIS2の動的SQL <iterate> は、mybatis3 になると廃止され 代わりに <foreach> が用意されてる。使い方はほとんど同じだが 動的valueの記述を item="xxx" で定義するようになり少し書きやすくなってる。 <select id="selectCustomer" resultType="sample.Customer" parameterType="コレクション kanalistを 要素名としてもつクラス"> select * from CUSTOMER where substr(KANANAME,1,1) in </select></foreach></iterate>

Wicket の日付入力 DateTextField

Wicket の DateTextField は、日付入力で任意書式を検証してくれる。 org.apache.wicket.extensions.markup.html.form.DateTextField これは、wicket-extension-1.4.9.jar に含まれている。 以下のようにコンストラクタを使用すれば、 new DateTextField("da…

Wicket Pageクラスでインナークラスを。。。

Wicket の Page クラスで Page 継承のインナークラスを作成すると、 HTMLは、親ページクラス名+'$'+インナークラス名+".html" になる。 このルールを利用してタブ構成の画面を作成する時に Page クラスを まとまりよくすることができる。 -------- 例…

Wicket では、SLF4Jを使うべき

今まで使いなれたせいか、つい、Log4J を使ってしまうが、 Wicket では、SLF4J ; Simple Logging Facade for Java を使った方が良いみたいだ。 (常識かもしれない) なぜなら、Pageクラスで部品のメソッドで、 Button download = new Button("download"){ @…

Wicket でExcel生成ダウンロード

Wicket で jakarta-POI で生成したExcel2007 をWebアプリでダウンロードさせる時の ContentType は、 application/vnd.openxmlformats-officedocument.spreadsheetml.sheet Wicket の例では、ダウンロードのボタンの onSubmit() に org.apache.wicket.util.r…

Wicket の AJAX デバッグ環境

Wicket でAJAX を使う場合、ページの中にデバッグ用のをサポートするウィンドウを 表示することができる。 WebApplication 継承クラスの中で org.apache.wicket.protocol.http.WebApplication.getConfigurationType() メソッドをオーバーライドして、Applica…

iBATIS3 トランザクション(2)

ここに書いたもより、こちらを使うべき http://blog.zaq.ne.jp/oboe2uran/article/458/ http://blog.zaq.ne.jp/oboe2uran/article/459/ http://blog.zaq.ne.jp/oboe2uran/article/460/ ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ ------------------------------------- アノテーシ…

iBATIS3 トランザクション(1)

ここに書いたもより、こちらを使うべき http://blog.zaq.ne.jp/oboe2uran/article/458/ http://blog.zaq.ne.jp/oboe2uran/article/459/ http://blog.zaq.ne.jp/oboe2uran/article/460/ ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ ------------------------------------- iBATIS で不…

UIDecoratorManager クラス初期化エラー

Eclipse で Web アプリ開発作業中、クラス初期化エラーが発生 org.eclipse.wst.server.ui.internal.provisional.UIDecoratorManager このクラス初期化エラーが出て原因がわからなかった。 パースペクティブ Java EE を選択してServers ビューを表示させた状…

List の マージ

List のDiff 処理ができたなら、当然マージ処理も用意してみたくなる。 http://blog.zaq.ne.jp/oboe2uran/article/373/ に追加するメソッドとして以下のように、マージのメソッドを用意する。 /** * 左 List → 右 List マージ. * 右 List size > 左 List si…