Seasar
Teedaのメリット・デメリット 大体同意見ですが、私にとって最大の誤算は、開発者のJSFアレルギーですね。JSFアレルギーというより、新しい技術に対するアレルギーといったほうが正しいかもしれません。 それも間違ってるかな。DIみたいな小難しい技術もそれ…
HibernateはEntityを中心に考えます。つまり、Javaを中心に考えるということですね。エンティティモデルとERモデルは、一致する必要はなく、それぞれでモデリングして、Hibernateが間をつなぎます。 メリットは、エンティティの設計がデータベースに引きずら…
「抽象クラスを継承してエンティティ特有のビジネスロジックを実装する」ってことは、そのエンティティは貧血でないドメインオブジェクトってことでしょうか。 SAStrutsの機能リファレンスでは「複数のアクションから共通に使われるような機能は、サービスク…
Seasar2 と Teeda を利用した Web アプリケーションを WebSphere Application Server にデプロイする developerWorksにTeedaをWASにデプロイするための記事が出てます。今後は、定期的にdeveloperWorksに記事を掲載していく予定です。こんなのを書いてほしい…
S2JDBCの自動生成サポートは、2つ考えています。1つは、データベースの情報から、Entityを作る機能。これは、おもにDBAがいる開発現場向きの機能です。 作るEntityは、GenerationGapパターンで作ります。例えば、従業員用のEntityの場合、AbstractEmployeeに…
Seasar2は、2.5でやろうとしていたS2PersistenceとS2PresentationをS2JDBC、SAStrutsという形で、2.4ベースで実装してしまったため、2.5を出すことはおそらくないでしょう。 また、コンテナに手が入ることももうないと思います。やるべきことはやったと思う…
リリースノート Improvement [SASTRUTS-10] - urlPatternで英数字以外も対象にしました ダウンロードはこちら http://sastruts.seasar.org/download.html SAStrutsの特徴は次の7つです。 Strutsベース Strutsの薄いラッパーなので、ソースコードが少なく(主…
あるお客様が、Seasar2を使った案件の開発者を探しています。ご興味のある方は、私(higa_at_isid.co.jp)の方までメールください。 条件は以下のとおりです。 2人/月 できればお客様のところで一緒に開発してもらいたいが、受託も可。 スタートは早ければ早い…
リリースノートはこちら。 New Feature [SASTRUTS-9] - JSPのダイレクトアクセスを禁止できるようにしました ダウンロードはこちら。 http://sastruts.sandbox.seasar.org/download.html 今回は、機能追加で、Filterの修正のみなので、リリース計画に変更は…
JSPへのダイレクトアクセスを禁止したいという方が、何人かいらっしゃるようなので、SAStrutsのFilterで、GETで*.jspへのアクセスを禁止できるようにしました。デフォルトは、禁止するようになっています。web.xmlのinit-paramでアクセスできるように変更す…
リリースノートはこちら。 Bug [SASTRUTS-8] - Java6でバリデーションエラーになったときに無限ループしていたのを修正しました ダウンロードはこちら。 http://sastruts.sandbox.seasar.org/download.html rc6からの移行は、jarファイルを置き換えるだけで…
リリースノートはこちら。 Bug [SASTRUTS-7] - URLとアクションのマッピングを厳密にやるようにしました これまで、対象のURLがなくて、IndexActionが存在すると、IndexActionに遷移していましたが、遷移しないようにしました。 これまで、ルートパッケージ.…
Bug [SASTRUTS-6] - httpではじまるパスに遷移できない ダウンロードはこちら。 http://sastruts.sandbox.seasar.org/download.html rc4からの移行は、jarファイルを置き換えるだけで大丈夫です。 よろしくお願いします。
Bug [SASTRUTS-5] - COOL deployに対応しました ダウンロードはこちら。 http://sastruts.sandbox.seasar.org/download.html また、今回のリリースのにあわせて、正式リリースの予定も若干変更します。22日の午後にSandbox卒業を申請して、23日に正式リリー…
SAStruts rc3をリリースしました。リリースノート Bug [SASTRUTS-4] - ダウンロードで実行メソッドの戻り値をnullにするとぬるぽになる ダウンロードのサンプルも追加しました。SAStrutsのダウンロードはこちら。 http://sastruts.sandbox.seasar.org/downlo…
開発者(主にコードを生産する人)はクラス設計が激しく必要なんだと思った。 サンプル見てると簡単にコードを生産できるけど、それだけじゃすぱげってぃこーどが沢山できてしまう気がした。 SAStrutsの基本方針は下記のとおり(他にもあるけど引用に関係のあ…
Release Notes - SAStruts - Version RC2 Bug [SASTRUTS-3] - Actionの遷移先がきれいなURLの時に遷移に失敗していたのを修正しました Improvement [SASTRUTS-2] - ファイルアップロードに対応しました New Feature [SASTRUTS-1] - URLをエンコードするファ…
URLをエンコードするファンクションを追加しました。 こんな感じで使います。 <a href="${f:u(url)}">...</a>なんで"u"何だって? Railsにあわせているから。
SAStrutsは、この後特に問題がなければ、水曜日の午後にSandboxの卒業申請をし、手続き終了後(たぶん木曜)正式版をリリースする予定でーす。
インデックス用のページ(http://.../sa-struts-tutorial)から各サンプルページに遷移できるようにしました。Tokenのサンプルもわかりやすく書き換えました。 もし、既にダウンロードしたけど、何を試したら良いかわかりづらいと思われた方は、良ければ、もう…
sa-struts-tutorialのプロジェクトを作っていて思ったんだけど、もうscaffoldとかいらないかも。 たくさんソースコードを書く必要があるなら、scaffoldで自動生成すると、「あぁ、こんだけ楽できる」と思ってうれしいんだけど、SAStruts, S2JDBC, Beansだと…
SAStrutsのRC1をリリースしました。 http://sastruts.sandbox.seasar.org/index.html ダウンロードはこちら http://sastruts.sandbox.seasar.org/download.html SAStrutsの特徴のひとつは、ドキュメントの充実。いろんなサイトを見る必要はなく、SAStrutsの…
本当は、Rails風にしようと思ったわけではなく、ふたがわさんがCubbyがいいっていってたので、インスパイヤされて作ったらRails風になっちゃったって感じ。 http://locahost:8080/sa-struts-tutorial/loginにアクセスすると、tutorial.action.LoginAction#in…
書いてもどうせ実現できないので、あまり書かないことにしますが、とりあえず直近でやっていることだけ。 去年やるといってできなかったことを、今2つやってます。 1つは、SAStrutsのリリース。コードはできていますが、ドキュメントがまだ足りないところが…
これまで、遷移先は、下記のように指定してきました。 @Result(name = "list", path = "/employee/list.jsp")1つだけならまだいいんですが、複数あるとちょっとうざったい。 @Results({ @Result(name = "list", path = "/employee/list.jsp"), @Result(name …
SAStrutsは、1ユースケースで1アクション。基本的には、Serviceクラスもなければ、DTOもありません。例えば、従業員の一覧に部署名も出力するには次のようになります。 <c:forEach var="e" items="${empItems}"> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> </c:forEach> @Result(name = "list", path="/employee/list.jsp") public class EmployeeAc…
commons-validatorを使った検証は、フィールドにアノテーションをつけることで行ないます。 @Required @IntegerType public String arg1;メッセージを指定したい場合は、msg属性で指定します。 @Required(msg = @Msg(key = "errors.required"))メッセージの…
検証をcommons-validatorではなくメソッドで行いたい場合は、引数がなく戻り値がActionMessagesのメソッドを用意し、そのメソッド名を@Executeのvalidate属性で指定します。 検証メソッドがエラーのメッセージを返した場合は、実行メソッドは呼び出されず、@…
ActionFormの更新機能をサポートしました。特徴的なのは、Strutsのタグを利用せず、JSTLのみ(html:formは使うこともあるかも)で開発ができることです。 例えば、nameプロパティを更新するには、つぎのようなJSPを用意します。 <form action="bbb2.do" method="post"> <input type="text" name="name" value="${name}"/> <input type="submit"/> </form>input系のタグのname属性を…
SAStrutsでは、ActionとActionFormは、基本的に同じクラスで実装しますが、複数のActionで同じActionFormを共有したくなることもあるでしょう。 その場合、ActionFormをPOJOのDTOで作成し、Actionのプロパティに@ActionFormアノテーションをつけます。 publi…