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

ジェネリックスのワイルドカードとキャスト

S2JUnit4の拡張アサートの「データセットとマップのリストが等しいことをアサート」するメソッド public static void assertMapEquals(String message, DataSet expected, List<Map<?, ?>> list) { adapter.assertMapListEquals(message, expected, list); } を使いた</map<?,>…

サブアプリケーションスコープについて その3

public void initialize() { aaa = "AAA"; bbb = "BBB"; ccc = "CCC"; } 前述のfuga.javaに上記を追加した場合以下のような結果に。 初期状態 aaa aaa bbb bbb ccc null ddd ddd 初期状態⇒self aaa aaa bbb bbb ccc null ddd null 初期状態⇒next aaa AAA bbb…

サブアプリケーションスコープについて その2

以下のようなhogeとfugaの2つのページが同一サブアプリケーションにあったとします(アクセッサは省略)。 hoge public class HogePage { private String aaa; @SubapplicationScope private String bbb; private String ccc; private String ddd; public C…

Localeについて

UIViewRootのgetLocale()メソッドがRestore Viewフェーズではブラウザの設定、Render ResponseフェーズではOSの設定を戻すようなのですが、これってこういうものなのでしょうか?Restore ViewフェーズではTeedaStateManagerImplのserializedViewsにブラウザ…

リスナ・メソッドからMessageSenderを利用する

Queue1のメッセージを編集してQueue2に書き込むアプリケーションがあったとします。 名前 設定 処理 sender1 jms-outbound-1.dicon メッセージをQueue1に送信する sender2 jms-outbound-2.dicon メッセージをQueue2に送信する listener jms-inbound.dicon Qu…

サブアプリケーションスコープについて その1

以下のようなhogeページからfugaページへ遷移するアプリケーション(同一サブアプリケーション)があったとします(ラジオボタンのラベル引継ぎ機能を使ってみたかったので1.0.10で試しました)。 HogePage.java(アクセッサは省略) public class HogePage { …

SMART deploy構成における実装の切り替え

DIコンテナの存在を知ったとき、最初に期待したのは設定ファイル地獄から脱却できるのでは?ということでした。 今までだとあるロジックに2通りのバリエーションを持たせたいといった場合には設定ファイルにフラグを設けて、ロジックの中でそのフラグを見て…

S2JUnit4を使ってみる

惹かれた機能は 自動トランザクション エクセルからのデータ読込 の2つ。なのでS2Unitでもよさそうなのですが、なんとなくS2JUnit4で。で、使ってみた感想ですが、テスト開始時にテーブルの中身をテスト用データに入れ替えてテスト終了時に元に戻してくれる…

S2JMSを使ってみる〜インバウンド通信編〜

今日も引き続きSun Generic Resource Adapter for JMSと IBM WebSphere MQの組合わせで。 受信データをある項目でスライシングして並行処理をし、かつスライスされた各ブロックでは順番を保障するというアプリケーションを実現してみます。 リソースアダプタ…

S2JMSを使ってみる〜アウトバウンド通信編〜

1.0.0-M2リリースとともにドキュメントが充実してきたので使ってみました(今までは使い方が分からずに断念してました)。Sun Generic Resource Adapter for JMSと IBM WebSphere MQの組合わせです。 リソースアダプタの設定 WmqResourceAdapterDeployerとい…

HotDeployが効かない!?

HOT deployを開始します クラス(hogehoge.web.hoge.FugaPage[hoge_fugaPage])のコンポーネント定義を登録します HOT deployを終了しました ってログが出ているのに実際には変更が反映されないという現象に遭遇。原因を突き止めるのにえらく苦労しましたが、…

ここ最近は開発環境構築の準備をしていました。実は以前にsubversionとapacheの連携の時点で躓いていて、そんなときにtrac月という非常に便利なものを発見してしまい、trac月があるという理由だけでサーバーをWindowsにしちゃいました。そもそもtracを使おう…

forEachのId

forEachのIdはデフォルトでは各行が同じIdになってしまいます。ユニークなIdにするためにはteedaCustomize.diconの <component class="org.seasar.teeda.core.render.DefaultComponentIdLookupStrategy" />を <component class="org.seasar.teeda.core.render.JsfSpecComponentIdLookupStrategy" />にすればOK。・・・なのですが、layout機能を使うとidが全く出なくなります。</component></component>

ラベルの引き継ぎ

現場で役立つ実践Teedaに プルダウンやラジオボタンなどで、値(value)だけでなく、ラベル(label)を引き継ぐことができる と書いてあったので、これは使えると思って早速試してみました。 が、ラジオボタンではラベルを引き継ぐことができませんでした。…

forEachとradioボタン

メーリングリストで話題になってましたが、質問者の方は aaaAAA bbbBBB cccCCC こういう感じで選択された行を取得したいのかと思ってましたが 追加されたサンプルが aaabbbccc aaabbbccc aaabbbccc こんな感じだったので、上のパターンを実現する方法を考え…

HOT Deployと継承

スーパークラスのみ変更してサブクラスには変更がないときに、Hot Deployで変更が反映される場合とそうでない場合があるのでメモ。 まずスタートの状態は以下の通り。 aaa.html

Vaidationと継承

Validationを継承した場合の動きが少し変だったので調査してみました。 スーパークラスのフィールドにアノテーション→× @Required private String hoge; これはサブクラスから見えないから?と思ってpublicにしてみたりしたけど必須チェックかからず。 スー…

SMART deploy構成でのトランザクション制御

Doltengでプロジェクト(Teeda+S2Dao)を作成し、JDBCの設定をした後にDatabaseViewで適当なテーブルを右クリック→Generate Scaffold Applicationで簡単なアプリケーションを作ります。 ここでわざとPK制約に違反するようなデータをCreateしてみます。当然エ…

EL 暗黙オブジェクト

private Map param; public Map getParam() { return param; } public void setParam(Map param) { this.param = param; } とやるとparamにrequestParameterがDIされてくる訳ですが(昨日のコメント参照)、このparamという変数名はどこで決められているので…

DynamicValidator

以前DynamicValidatorで動的に必須チェックがかけられると書きましたが、少々訂正が必要なようです。 hoge.html

formタグのidについて

テンプレートに <form id="aaaForm">と書くとレンダリング後は <form id="aaaForm" name="aaaForm" method="post" enctype="application/x-www-form-urlencoded" action="/hoge/view/hoge/aaa.html">のようになります。 テンプレートが <form id="hoge">だとレンダリング後は <form enctype="application/x-www-form-urlencoded" method="get" id="hoge">のようになります。どうやらfor…</form></form></form></form>

inputCommaTextで小数点以下を有効に

inputCommaTextはデフォルトだと小数点以下は無効になってますが、$なんかを入力する場合は少数点以下も必要です。 という訳で今日はinputCommaTextで小数点以下を有効にしてみたいと思います。

出力/入力用プロパティ

準備として前回同様にfugaプロパティを持つhogeページを作ります。

TigerアノテーションによるValidationがきかない!?

(teeda-html-exampleを利用。) hogeパッケージを作成しそこに以下のようなhtmlを作成する。Doltengでpageクラスも作成。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <form id="hogeForm"> <div> <span id="allMessages"/> </div> <input type="text" id="fuga"/> <br/> </br/></form></body></html>

Teedaにおけるスタイルの設定

teedaではValidationにひっかかるとその入力項目にclass="onTeedaError"が設定される。 じゃぁ元々何かしらのclassが設定されている場合はどうなるのか? class="onTeedaNormal" ↓ チェックにひっかかる class="onTeedaNormal onTeedaError" 調べてみるとcla…

選択系コンポーネントのDI

前回書いたように、選択系アイテムの中身(選択肢)は描画毎に生成するのはどうも効率が悪い。もちろん状況に応じて選択肢が変わるような場合は別だが、例えば都道府県の選択などはどの画面でもどの状況でも変わらないと思われる。だったら完成品をDIしても…

Validation

今日はTeedaで簡単なアプリケーションを作成してみた。なるほど、単純にテーブルを検索・更新するだけならあっという間にできる。 じゃぁ肉付けしてみよう・・・と思ったら早速Validationでつまずきました。

SMART deploy 〜 Creator 〜

SMART deployにおけるコンポーネントの自動登録にはCreatorというものが使われているらしい。そしてSeasar2のドキュメント「SMART deployの設定方法」によるとクラスの検出条件は「クラスのパッケージ名が『ルートパッケージ名.サフィックスを小文字にした文…

SMART deploy 〜 推奨のパッケージ構成 〜

S2RMIの「SMART deployを使う場合」でつまずいたので今日はSMART deployについて調べてみます。 Seasar2のサイトのSMART deployに関する説明には「推奨のパッケージ構成を利用する事によって、SMART deployが使えるようになります。」って書いてあります。そ…

問題点についての詳細

(S2Axis2Examples 0.3.0を利用します)