タグ

seasarに関するsuusukeのブックマーク (16)

  • Slim3 for Google App Engine/Java - ひがやすを技術ブログ

    Slim3をGAE/Jに対応させました。 デモサイトはこちら。 http://higayasuo.appspot.com/ ソースコードをチェックアウトしたい場合はこちら。 http://code.google.com/p/slim3/source/checkout https://slim3.googlecode.com/svn/を指定してチェックアウトできます。デモ用のプロジェクトは、slim3-demoです。 SAStrutsのチュートリアルをやったことのある人なら、デモサイトが、そっくりだということがわかるでしょう。Slim3 Struts(SAStruts相当)がGAE/Jで動くわけです。 素のStrutsだとGAEではファイルアップロードに失敗しますが、Slim3 Strutsはその辺も対応してます。 やってみて感じたのは、GAE/Jは、制限が結構厳しいので、高度なフレームワー

    Slim3 for Google App Engine/Java - ひがやすを技術ブログ
  • HOT deployでのClassCastException対策 - 日記のような何か

    Seasar2.4.xのHOT deployでは、filterやutil、entityといったのようなSMART deploy対象外のクラスから、actionやservice、dao、dtoといったSMART deploy対象のクラスを参照すると、ClassCastExceptionが発生する。この対策を考えてみた。 ちなみに、COOL deployでは発生しない。 2009/4/14 追記 utilやentityがSMART deploy対象外クラスと書いたが、S2Containerにコンポーネントの自動登録がされない(おそらくS2Containerがインスタンスを管理する必要がないから)だけで、コードの変更はHotに反映されるし、クラスローダーもちゃんとHotdeployClassLoaderになる。なので、SMART deploy対象外というのは誤りと思いますので、訂正しました。 原

    HOT deployでのClassCastException対策 - 日記のような何か
  • java:sastruts [paulownia.jp]

    ActionはタダのJava Object (POJO) でStruts Actionクラスを継承する必要は無い。 package jp.paulownia.test.action; public class HogeAction { @Required public String id; // パラメータでnameが送られてくるとココに入っている。 @Execute(validation=false) // このアクションメソッドではバリデーションしない public String list() { return "list.jsp"; } @Execute(input="list") // このアクションメソッドでは検査する。エラー時はlistメソッドを実行する public String edit() { return "edit.jsp"; } } というアクションがある場合、 h

  • S2JDBC-Genでデータベースリファクタリング - taediumの日記

    このエントリでは、S2JDBC-Genを使って手軽にデータベースリファクタリングをする方法を紹介します。S2JDBC-Genは、Javaコード(S2JDBCのエンティティ)の修正をデータベーススキーマに反映させるツールです。 S2JDBC-Genの実行に必要な動作環境は、EclipseプラグインのDoltengを使うと簡単に用意できます。Eclipseはバージョン3.4、Doltengは昨日リリースされたばかりの0.33.0を使います。 長くなりすぎたので見出しを。。。 Doltengのインストール Doltengプロジェクトの作成 Antのコンソールエンコーディングの設定 (Windows上でEclipse3.4を動かす場合にだけ必要) H2の起動とデータの確認 データベースからエンティティの生成 エンティティからDDLとダンプデータの生成 DBリファクタリング(新たなカラムの導入) D

    S2JDBC-Genでデータベースリファクタリング - taediumの日記
  • FrontPage - J2EE Development Without EJB

    Menu Top JavaEE勉強会 参加するには FAQ MakingSenseofStreamProcessing MicroservicesVsSOA ModernJavaEEDesignPatterns BSA EIP DSL DDD 議事録 最新の20件2023-11-24 MicroservicesVsSOA/The World of Service-Based Architectures 2020-11-14 DDD/Knowledge-Rich Design MakingSenseofStreamProcessing/Example Implementing Twitter 2020-10-28 EIP/Aggregator 2019-12-18 EIP/Publish-Subscribe Channel 2018-06-10 FrontPage 2017-07-08 Ma

  • SAStrutsで簡単Ajax - ひがやすを技術ブログ

    SAStrutsで簡単にAjaxを扱えるようにしました。サンプルはこんな感じ。 package tutorial.action; import org.seasar.struts.annotation.Execute; import org.seasar.struts.util.ResponseUtil; public class AjaxAction { @Execute(validator = false) public String index() { return "index.jsp"; } @Execute(validator = false) public String hello() { ResponseUtil.write("こんにちわ"); return null; } } アクションで、ResponseUtil#write()を使ってレスポンスに文字列を書き出すだけ。

    SAStrutsで簡単Ajax - ひがやすを技術ブログ
  • NTTデータについてそろそろ一言いっておくか - ひがやすを技術ブログ

    Seasarプロジェクトが提供しているSAStrutsと、NTTデータが提供しているTERASOLUNAを組み合わせて、大規模プロジェクトでさくさく開発ができるフレームワークの作成を目指します。 SATELITEは、Super Agile TERASOLUNA Lightの略です。 TERASOLUNAは株式会社NTTデータの登録商標です。 プロジェクトの活動はNTTデータの業務とは関係ありません。 意表をつく組み合わせですね。真剣にフレームワークに取り組み、オープンに業務外で活動している人もいるということですね。 NTTデータと真昼の対決をセッティングしたのは、TERASOLUNAチームの人なんですが、その後のCTCと夜の決闘の話を見て、CTCとは同じ問題をかかえているかもしれないので、CTCの担当者と意見公開したいから、連絡先を教えて欲しいと私のところにメールして来ました。 このまじ

    NTTデータについてそろそろ一言いっておくか - ひがやすを技術ブログ
  • S2BlazeDSを用いたFlex+Javaアプリの【いろは】

    S2BlazeDSを用いたFlex+Javaアプリの【いろは】:業務用RIAの命!? Flex+Java開発入門(2)(1/4 ページ) 連載では、サーバサイドとして「Java」、リッチなクライアントサイドとしてJavaと相性の良い「Adobe Flex」(以降、Flex)を用いたRIA開発の基礎を解説します。EclipseベースのIDEである「Flex Builder」を使って、「Tomcat」で動くeラーニングのRIAが完成するまでお届けする予定です 編集部注:Flex Builderは、2010年3月の新版から「Flash Builder 4」に名称変更しています。期間限定の無料版をダウンロードして使えます 「しょせん、Hello World!アプリだろ」と、侮るなかれ 前回の「EclipseベースIDEとTomcatで始めるFlex+Java開発」では連載第1回ということで、W

    S2BlazeDSを用いたFlex+Javaアプリの【いろは】
  • Home (サイトを移転しました。)

    Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode

  • はてなダイアリーの購読者数+ブクマ数をユーザ別に集計するサービスを作った - kaisehのブログ

    ブログランキングサイト [TopHatenar] とりあえずURLだけ。詳しくはまた後で書きます。 追記 このサービスは、僕が去年末ごろから持っていたアイデアを、Cubby+Mayaa+S2JDBCの使い心地を確かめる意味を込めて実装したものです。 僕がWebアプリを作る上でのフレームワークの好みは、S2JSF、Teeda、Railsと変遷して、ここ半年ぐらいはシンプルなClick Frameworkがベストかなあなんて思ってました。でも最近、Clickと同じぐらいシンプルで、しかも『RESTライクな奇麗なURL』という強烈な魅力を持ったCubbyが気になり出しました。で、少し試してみたところ、あっという間にCubbyが好きになってしまいました。元々仕様がシンプルなのに加えて、HOT deploy対応もばっちりだから、当に開発がサクサク進みます。気付いたら徹夜してTopHatenarを作

    はてなダイアリーの購読者数+ブクマ数をユーザ別に集計するサービスを作った - kaisehのブログ
  • 検証用アノテーション - cypher256's blog

    SAStruts では Struts 標準の入力チェックに対応するアノテーションが用意されていて、Mask を使えば大概のことはできますが、それだけだと実際の業務プロジェクトでは開発者が苦労することになります。小数点を含む数値に @DoubleType とか使うと "1d" とか "1f" が通っちゃいますからね。 そこで検証用アノテーションを作ることになります。こんな。 // 数値チェック・アノテーション @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) @Validator("numberCheck") public @interface NumberCheck { /** 数値最大桁数 (数字全体の最大有効桁数 例)123.4 -> 4) */ int maxlength(); /** 小数部桁数 */ in

    検証用アノテーション - cypher256's blog
  • JSP、JSTL、EL で定数を使う - cypher256's blog

    今回のプロジェクトでは定数クラスは設計書から自動生成されるようにしました。でもせっかく定数クラス作っても、JSP ではベタ書きしていたり、JSP で定数使うのはおかしいとか言うエラい人もいたりしますが、やっぱり JSP でも定数使いたい場面はあります。例は悪いですけど、こんな。 public interface Flg { String ON = "1"; String OFF = "0"; } <td>${Flg.OFF}</td> とか <c:if test="${hogeFlg == Flg.ON}"> 今まで、定数クラスごとにマップを作ってアプリケーション・スコープに登録したりしていたのですが、面倒なので自動登録してしまおうというのが、JSTLConstantsRegister です。どこかで聞いた言い回しですけど。これはルート・パッケージ配下のインターフェースか public s

    JSP、JSTL、EL で定数を使う - cypher256's blog
  • JSP で Action に指定した roles を使う - cypher256's blog

    SAStruts では Servlet コンテナの認証を使った場合、アクションの roles 属性を指定することにより、アクセス制御が可能です。これでセキュリティは守られます。でも実際のところ、その権限によって、画面にメニューやリンク、ボタンの表示/非表示を切り替える必要があるのがほとんどではないでしょうか? JSP でベタで権限判定をしても良いのですが、せっかく、アクションに roles 属性を指定しているなら、そこでロール定義は管理し、JSP ではそのアクション名とメソッド名で判定したいところです。こんな感じ。 <!-- show ファンクションで表示/非表示判定 --> <c:if test='${x:show("hoge/index")}'> HogeAction の index 権限がある人のみ表示 </c:if> // ファンクション・クラス public class Func

    JSP で Action に指定した roles を使う - cypher256's blog
  • toString - cypher256's blog

    共通の親エンティティに toString を実装し public フィールド値を出力されるようにすれば色々便利です。これは特に S2JDBC のエンティティに限ったことではありません。 @MappedSuperclass public class AbstractEntity implements Serializable { public String toString() { return <フィールドの値を連結した文字列>; } } public class Table1 extends AbstratEntity { public Long id; public String xxxCd; public String xxxNm; } Table1 table1 = ・・・; log.debug("table1の中身:" + table1); DEBUG 2008/01/01 ta

    toString - cypher256's blog
  • 環境プロパティー - cypher256's blog

    通常、業務システムを開発する場合、色々な設定値をどこかに格納しておく必要があります。DB だったり、プロパティー・ファイルだったりするのですが、今回のシステムではプロパティー・ファイルを使いました。そこで、環境による違いを吸収するために、勝手に切り替わる仕組みを作るか、原始的な方法では手で書き換えるなどがありますが、S2 には Ruby の実行モードのような環境名というものがあります。条件により dicon ファイルの差し替えが可能だったりしますが、環境ごとのプロパティーなどは設定が同じファイル内の近くにあるほうが見やすいので、こんな感じにしました。 [/src/main/resources/env.properties] # 一時作業ルート・パス TEMP_ROOT_PATH.ct=c:/temp TEMP_ROOT_PATH.it=/tmp TEMP_ROOT_PATH.product

    環境プロパティー - cypher256's blog
  • http://d.hatena.ne.jp/sugimotokazuya/20080419

  • 1