SAStruts

特定の場所だけトランザクション制御を外すには

実行するActionクラスのメソッドに以下のアノテーションを書く。 (ちなみにS2Chronsの場合は、TaskクラスのdoExecuteメソッド) @TransactionAttribute(TransactionAttributeType.NEVER) これでトランザクション制御から外れるので、 一昔前のように書いてあ…

Actionのプロパティにhiddenの値をDIするには

基本中の基本ですが。Action#プロパティ名(publicな変数) = タグのnameタグのidばかりに気を取られがちだったので。

インターフェースを実装させたクラスをDIするには

app.diconの設定で任意のクラスをDIできる。 ・app.diconの指定方法 ・クラス構成 jp.co.hoge.TestLogic ←インターフェース jp.co.hoge.impl.DefaultTestLogic ← TestLogicを実装したクラス jp.co.hoge.impl.RemoteTestLogic ← TestLogicを実装したクラスこ…

SAStrutsでのActionのプロパティの型について

httpからもらうプロパティは基本的にStringで受け取る。 そうしないとクラスの型が合わずにNumberFormatExceptionなどが発生してしまう。 以下のような流れで処理が走っているらしい。 (strutsの常識?) 1.アクセスされる。http://***.co.jp/hoge/exec/param…

SAStrutsのアノテーション一覧

http://seasar-users.jp/cheatsheet/sastruts

SAStrutsのAction内で別のActionを呼ぶには。

http://sastruts.seasar.org/featureReference.html#ExecuteMethod 同アプリ内での場合return "../***/クラス名/メソッド名?redirect=true";?の前に/をつけないように注意する。 完全に外の場合return "http://www.yahoo.co.jp?redirect=true";この方法で別…

サーバーサイドバリデートで気をつけること

サーバーサイドで@Maxbytelengthを使う時にcharsetに気をつける。 charsetを省略した場合にはシステムプロパティの"file.encoding"からデフォルトの文字セットを取得するようだ。なので全角文字で1文字を2バイトで計算して、5文字と考えているのに、 @Maxb…

SAStrutsとは

てすと