2009-11-21
SAStrutsまとめ
SAStruts+S2JDBCでアプリケーションを構築するに当たって前調べしたことを纏めてあります。基本的なことからアーキテクトまで広く利用できるようなリンク集&コメントです。
- Action
- URLルール
action.AddAction
⇒/ContextRoot/add/
action.add.IndexAction
⇒/ContextRoot/add/
s:formは/ContextRoot/add/という風にしか生成してくれない
アクションは、複数の実行メソッド を持つことができ、
通常は、1ユースケースを1アクションにマッピングします。
複数の画面で構成される意味のある単位をユースケースだと、捉えればいいでしょう。
via http://dbviewer.blogspot.com/2008/06/sastruts11action.html
HttpSession session =
(HttpSession) SingletonS2ContainerFactory
.getContainer()
.getExternalContext()
.getSession();
- 例外処理
- ActionForm
- 確認画面ではActionFormから値を出力する。
- ActionFormに下記を設定
@Component(instance = InstanceType.SESSION)
- セッションからActionFormを削除するタイミングが必要なのでActionに以下を指定する。メソッドの実行終了時にActionFormからデータを削除してくれます。
removeActionForm = true
- publicフィールドについて
- 言いたいことは非常に判るんだが私のように古くからJavaを触っている人には少し抵抗があります。この手の実装は私個人的には若手にはあまり触らせたくないです。
- http://d.hatena.ne.jp/higayasuo/20070517/1179402832
- http://www3.vis.ne.jp/~asaki/p_diary/diary.cgi?Date=20080625#2008062501
- DTO&Entity
- DTOとEntityいいこと書いてある
- http://d.hatena.ne.jp/dewa/20080617/1213692369
- Entity
- エンティティは @MappedSuperclass が指定されたクラスを継承できます。
- Entityはもちろん型を意識します。
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<el-ignored>false</el-ignored>
<page-encoding>UTF-8</page-encoding>
<scripting-invalid>false</scripting-invalid>
<include-prelude>/WEB-INF/view/common/common.jsp</include-prelude>
</jsp-property-group>
</jsp-config>
- Serviceクラスについて
- S2AbstractServiceを用いたAction-Service-Logicパターン
- Serviceクラスは、Entityに対して1:1に対応します(または不要)、複数のEntityを扱う場合にはLogicとしてまとめておいた方が良いかもですね。
- http://d.hatena.ne.jp/dewa/20080707/1215400310
- トランザクションの境界をServiceに変えるには。
- ActionのTestCase
- id:newtaさんが作ってくれているものを参考にしましょう。
- http://d.hatena.ne.jp/newta/20090810/1249920390
コメントを書く
トラックバック - http://d.hatena.ne.jp/uzr/20091121/1256040742