タグ

sastrutsに関するkunihiko_tのブックマーク (17)

  • Full Ajax な CRUD アプリケーション その4 - TsutomuUchimaの日記

    前回でデータ一覧を表示させる事が出来るようになりました。今回はデータの更新関係についてサンプルを作っていきます。 新規追加ウィンドウの作成 まずはモックアップから。ExtJSのダイナミックフォームを使用します。 フォームウィンドウのソース Ext.QuickTips.init(); Ext.form.Field.prototype.msgTarget = 'side'; var FormWindow = function(){ var extWin = null; this.show = function(title, url){ if (extWin == null) { var form = new Ext.FormPanel({ method: 'POST', id: 'employee-form', baseCls: 'x-plain', labelWidth: 40, defau

    Full Ajax な CRUD アプリケーション その4 - TsutomuUchimaの日記
  • 新・たけぞう瀕死の日記

    ■ [Seasar]SAStrutsが困った感じ 今のお仕事でSAStrutsを使っているのですが、いくつか困った問題に出会いました。バグっぽいものや判断を迷うところについてはSesaarのMLやJIRAにレポートしているのですが、折角なのでここにも書いておこうと思います。 アクションの共通処理 認証処理などを行いたい場合、普通に考えるとアクションの実行メソッドにインターセプターをかければいいような気がするのですが、これだとバリデーションがインターセプターの前に走ってしまうような気がします。ActionWrapperのexecute()メソッドの呼び出しをインターセプトできれば良いのですが、このへんはS2RequestProcessorで処理されているので、結局リクエストプロセッサのprocessActionPerform()メソッドをオーバーライドして認証などアクションの共通処理を組み込

  • 2008-08-02

    参考サイト http://sourceforge.jp/projects/f-11/document/eclipse_setting/ja/4/eclipse_setting.html ※下記の手順は上記参考サイトと同じ部分はそのままコピペしています。 前提 eclipse3.3 Europa Subclipse1.0が入っていること 公開鍵 秘密鍵の作成 ・Eclipseを開く ・ウィンドウ⇒設定⇒一般⇒ネットワーク接続⇒SSH2 ・一般タブのSSH2 ホーム欄をメモしておく(鍵が置かれる場所) ・鍵管理タブを開く ・RSA鍵の生成ボタンをクリックする ・パスフレーズとパスフレーズの確認にパスワードを入力 ・秘密鍵の保管をクリックする ・先ほどメモしておいた場所にid_rsaという名前で保存する(id_rsaは秘密鍵・rd_rsa.pubは公開鍵となる) ・公開鍵をリモートの…欄をコピー

    2008-08-02
  • seasar-users.jp - SAStruts チートシート

    @Resource protected HttpServletRequest request; @Resource protected HttpServletResponse response; @Resource protected HttpSession session; @Resource protected ServletContext application; ルートパッケージ.dto にXxxDto を作成します @Component(instance = InstanceType.SESSION) public class UserDto implements Serializable { private static final long serialVersionUID = 1L; public String userName; ... } プ

  • [Seasar-user:14281] Re: [SAStruts]submit ボタンからurlPatternを設定したメソッドを実行

  • S2AbstractServiceを用いたAction-Service-Logicパターン - 出羽ブログ

    以前に「1.5階層のAction-Service-Logicパターン」を紹介させて頂きました。今回は、このアーキテクチャにS2AbstractService を導入した場合のアーキテクチャについて検討してみました。 主な変更点として、S2AbstractService を導入する場合は、アクションやロジックから直接JdbcManagerを使うこと得策ではないと考え、データアクセスロジックは全てサービスを経由するようになった点です。 まずは、アーキテクチャを図示したものをご覧ください。細かい解説は別エントリにて書かせて頂きますが、エンティティ単位のサービスを採用しつつも、ユースケース固有のロジックはアクションに記述する方法を提示したいと思います。 アーキテクチャ(レイヤ構成図) アーキテクチャ(モジュール相関図)

    S2AbstractServiceを用いたAction-Service-Logicパターン - 出羽ブログ
  • 出羽ブログ

    不動産大手5社のオークションである AUC’S(オークス)が今日始動のようです。 不動産オークションのAUC’S(オークス) http://www.auc-s.com/ 時代も変わったもんだ。 今回はいくつかの重要な機能改善が施されています。 前バージョンとの変更点を効率的に把握するために、 1.0.2 から 1.0.3-rc1 までの差分ドキュメントをどうぞ。 機能リファレンス(featureReference.html) アノテーションリファレンス(annotationReference.html) 設定ファイルリファレンス(fileReference.html) リリースノート http://sastruts.seasar.org/releaseNotes.html ダウンロード http://sastruts.seasar.org/download.html Java SE 7の要

    出羽ブログ
  • SAStrutsでクライアントサイドバリデーション - ひがやすを技術ブログ

    SAStrutsでクライアントサイドバリデーションは次のようにして行ないます。 今回は、最初のサブミットボタンを押すと、aaaのみが必須チェックがかかり、次のボタンを押すとbbbのみが必須チェックがかかるサンプルで説明します。 ClientValidatorAction.javaのソースコードは次のようになります。 ClientValidatorAction.java package tutorial.action; import org.seasar.struts.annotation.Execute; import org.seasar.struts.annotation.Required; public class ClientValidatorAction { @Required(target = "submit") public String aaa; @Required(tar

    SAStrutsでクライアントサイドバリデーション - ひがやすを技術ブログ
  • SAStrutsとMayaaの組み合わせ方について - かとじゅんの技術日誌

    初めてのSAStrutsのネタを書きます。。。 SAStrutsとMayaaと組みわせはできると耳にしていたのですが、具体的な方法がよくわからなかったので調べてみました。 web.xmlにMayaaServletの設定を追加する。 <servlet> <servlet-name>MayaaServlet</servlet-name> <servlet-class>org.seasar.mayaa.impl.MayaaServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>MayaaServlet</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping> <cont

    SAStrutsとMayaaの組み合わせ方について - かとじゅんの技術日誌
  • 2008-04-20

    追記: 以前に以下のようなエントリを書いてしまいましたが、 transient を付けたプロパティは、HOT deployとCOOL deploy で 挙動が違うことが判明したため、使わないこと強くを推奨します。 混乱させてしまって、スミマセン。 挙動から判断するに、HOT deployの時は、HogeDtoをシリアライズ して何処かに退避しておき、クラスローダが差し替わった後には シリアライズしたものを使ってHogeDtoを復元しているように思えます。 transient を付けたプロパティは、シリアライズの対象から外れるため、 結果的にセッションスコープではなくなります。 しかし、そもそもCOOL deploy ではシリアライズやクラスローダの差し替えは 行われないので、transient を付けたプロパティもセッションスコープと なってしまう訳です。 次のエントリのコメント欄でこの記

    2008-04-20
  • 2008-05-08 - 出羽ブログ ~ はてな版 ~ スケールするアクション

    特定のユースケースへの要件が少ない場合は、 ユースケースに対応した1つのActionクラスで基的な処理は実装できます。 しかし、ユースケースへの要件が多い場合は、扱うクラスが増えてしまいます。 例えば、ユースケース専用のDto(ActionForm)やユースケース専用のLogic、セッション格納用Dtoなどです。 特定のユースケースに関するクラスが複数存在する場合は、 パッケージが分散しているよりも、1つのパッケージに集めた方が開発しやすいと思います。 (Teedaはこのような構成でした。) そこで、ユースケース名が "hoge" の場合、以下のような構成が可能なように SAStrutsを拡張してみました。 Java側: <ルートパッケージ>.web.hoge.HogeAction.java <ルートパッケージ>.web.hoge.HogeDto.java (ActionForm) <ル

    2008-05-08 - 出羽ブログ ~ はてな版 ~ スケールするアクション
  • SAStrutsのチュートリアルが1.0.3から結構変わっている - wyukawa's diary

    出羽ブログで話題になっていたことが、SAStrutsのチュートリアルに反映されています。 例えば、EmployeeActionが @Execute(validator = false) public String index() { empItems = jdbcManager .from(Employee.class) .orderBy("id") .getResultList(); return "index.jsp"; } だったのが、 @Execute(validator = false) public String index() { empItems = employeeService.findAll(); return "index.jsp"; } となっています。jdbcManagerがなくなって、employeeServiceが処理をしています。 で、employeeSe

    SAStrutsのチュートリアルが1.0.3から結構変わっている - wyukawa's diary
  • 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 - ひがやすを技術ブログ
  • カレントパスを気にせずにjspにcssファイル等のパスを指定する方法 - Writing Some Code

    同じjspを使う場合であってもurlが/employeeと/employee/indexなどとカレントパスが異なる場合があるので、jsp内でcssファイルなどを相対パスでベタ書きした場合には、どちら一方は正しくないパスとなってしまいます。 なにかSAStruts側で用意されていないか調べてみたらありました。 aタグのhref要素などを設定するときに、コンテキストルートを自動的に補完させる場合は、 f:url()を使います。パスを/ではじめた場合は、コンテキストルートからみたパスになります。パスが/ではじまっていない場合は、JSPからみたパスになります。 こんな感じで書けます。 <link rel="stylesheet" type="text/css" href="${f:url("/css/hoge.css")}">パスを/ではじめるのがミソですね。 これを知らなかったら、 <link

    カレントパスを気にせずにjspにcssファイル等のパスを指定する方法 - Writing Some Code
  • [SAStruts]オレオレAjaxアノテーションで超簡単Ajax

    チュートリアルのダウンロードのソース見てたら「あれ?これパクれば Ajax できるんじゃね?」と思ってさっそくやってみた。クラス名とか気にしないで・・・。 すぱいだー日記さんにインスピレーションを受けて SAStrutsで自前AjaxアノテーションとAOPを使って 超簡単にAjaxできてしまうプログラムを書いてみた。 Action側のコードはこんな感じ。 public class AjaxTestAction { public String hoge; public String fuga; @Ajax @Execute(validator = false) public String callAjax() { return hoge + " と " + fuga; } } 通常のSAStrutsの実行メソッドに 自前で作った@Ajaxアノテーションを付けるだけ。 呼び出し側のJSPは以下

    [SAStruts]オレオレAjaxアノテーションで超簡単Ajax
  • ネストしたプロパティで入力チェック - cypher256's blog

    アノテーションによるネストした子Dtoのバリデーションは、複雑なことは対応しないという方針に基づいて、やってくれないのが仕様です。 2008-04-17 - 出羽ブログ 自分でカスタマイズするなら ActionCustomizer を継承し、setupValidator メソッドに少しコードを追加するすることで対応可能です。プロパティを getClass() して、その定義クラスを getFileds() し、getAnnotations() した後、プロパティ名 + "." + ネストプロパティ名をバリデーション対象として登録みたいな感じだったと思います。 追記:コードイメージ

    ネストしたプロパティで入力チェック - cypher256's blog
  • Super Agile Struts

    Welcome to the "Super Agile Struts" project. Super Agile Struts(以降SAStrutsと省略)は、Strutsを使った開発をSuper Agileに行なうためのフレームワークです。 Strutsで開発する場合に困ることは、設定ファイルをたくさん書く必要があったり、 設定ファイルやJavaのコードを修正するたびにアプリケーションサーバを再起動する必要があることでしょう。 SAStrutsを使えば、設定ファイルを書く必要はなく、 スクリプト言語のようにファイルを保存する(保存と同時にコンパイルするような設定になっている場合)と、 すぐにその内容をアプリケーションサーバの再起動なしで認識することができます。 スクリプト言語のように「さくさく開発」ができ、 EclipseなどのIDEによるコードの自動補完などで、 さらに生産性を高めるこ

  • 1