摘要:http://files.cnblogs.com/aggavara/saStruts-Doc-zh.zip
阅读全文
随笔分类 - SAStruts
摘要:SAStruts使用的配置文件说明。web.xmlServlet容器用的配置文件,放置在WEB-INF目录下。sa-struts-tutorial工程放置在webapp/WEB-INF目录下。<?xml version="1.0"?><web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.
阅读全文
摘要:下面对SAStruts使用的注释(Annotation)进行说明。一般类型的注释一般类型的注释。Execute注释对执行方法的注释。 执行方法的详细请参考这里。validator元素(可选)指定验证注释是否有效。默认为有效(true)。true的时候,必须指定input元素。 验证的详细请参考这里。validate元素(可选)指定验证方法的方法名。 検証メソッドの名前を指定します。 使用时必须指定input元素。 验证方法的详细,请参考这里。多个验证方法可以用逗号隔开。按照从左到右的顺序,依次执行定义的验证方法。 如果像这样定义validate="validate, @, valid
阅读全文
摘要:功能参考SAStruts的各项功能说明。プロジェクト構成SAStruts在包下做成action,actionForm等包。 报名可以任意指定,比如sa-struts-tutorial工程,报名定义为tutorial。报名需要在convention.dicon中指定。sa-struts-tutorial工程中的配置如下。convention.dicon<components> <component class="org.seasar.framework.convention.impl.NamingConventionImpl"> <initMet
阅读全文
摘要:新手指南Seasar2能够进行热部署,对程序进行的修改,不需要重启服务器。 并且,基本上不需要写配置文件。参照新手指南工程的安转, 请启动应用服务器,并对JAVA代码和*.properties等属性文件进行修改,感受热部署的威力。index访问http://localhost:8080/sa-struts-tutorial, 进入一系列演示应用的一览画面。请查看webapp(Web应用的根目录)目录,并没有index.jsp(index.html)。 因此,哪个页面被显示呢。それでは、どのページが表示されているのでしょうか。对于SAStruts来说,访问应用程序根的时候, 如果存在包名.act
阅读全文
摘要:SAStrutsでは独自バリデータも作れます。生Strutsで作っていたものがある場合には、それを流用することもできます。今回は、あまりいいネタもなかったので、特定の数の倍数でないとエラーになるバリデータを作ってみました。アノテーションを作るまずは、アノテーションから作ります。アノテーションから作るのは、ここでバリデータの仕様がだいたい決まるからです。package sample.annotation;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.an
阅读全文
摘要:あまりにもくだらないハマり方だったのでメモ。ID列を自動生成しているエンティティをinsertした際に、割り当てられたIDが取得したくて悩んだのだけれども、答えは単純。insert() した際にエンティティのID値は自動的にセットされる。だった。なんというお間抜けな。。Entity entity = new Entity();entity.id = null;jdbcManager.insert(entity).execute();System.out.println(entity.id); // insert時に生成されたIDが入っている
阅读全文
摘要:●env.txtSeasarでテストや実際の環境を変更するためのもの●環境名ut:単体テストct:結合テストit:統合テストproduct:運用環境●diconファイル内でのenv.txtの呼び出し#ENVを使う●環境情報の取得方法(java)cond = Env.getValue();if(cond.equals(Env.UT)){ // 単体テスト環境} if (cond.equals(Env.CT)) { // 結合テスト環境} if (cond.equals(Env.IT)) { // 統合テスト環境} if (cond.equals(Env.PRODUCT)) { // 運用環境}
阅读全文
摘要:●暗黙コンポーネントWebアプリケーションにおいて特に何も設定しなくても宣言するだけでDIされるコンポーネント●種類①S2Container containerコンテナ②HttpServletRequest requestリクエスト③HttpServletResponse responseレスポンス④ServletContext applicationサーブレットコンテキスト⑤Map applicationScopeServletContextの属性⑥Map initParamServletContextの初期化パラメータ⑦Map sessionScopeHttpSessionの属性⑧Map
阅读全文
摘要:SAStrutsのエラーメッセージの設定方法について●application.propeties英語のエラーメッセージファイル●application_ja.propeties日本語のエラーメッセージファイル●設定方法①エラーメッセージファイルに「errors.属性 = エラーメッセージ」を記述例:errors.invalid = {0}が不正です●属性headerfooterprefixsuffixinvalidmaxlengthminlengthmaxbytelengthminbytelengthrangerequiredbytedatedoublefloatintegerlongshor
阅读全文
摘要:●JSP(JavaServerPages)Java言語を利用してWebサーバで動的にWebページを生成し、クライアントに送信する技術MVCモデルのViewを担当●タグ①<% --- %>javaプログラムの埋め込み(スクリプトレット)②<%=式>式を表示③HTMLタグ④EL(Expression Language:式言語)[${}]JavaBeanの値を参照する⑤JSTLのタグライブラリ公式:http://docs.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/namespace:http://java.sun.com/jsp/js
阅读全文
摘要:●入力チェックアノテーションプロパティに設定するアノテーション入力チェックの方法を設定する●@Required必須チェック①msgエラーメッセージ②arg0メッセージの最初の引数デフォルトはプロパティ名③target対象の実行メソッド●@Validwhen(test="条件")条件式付きチェック①test(必須)条件②msgエラーメッセージ③arg0メッセージの最初の引数デフォルトはプロパティ名④args@Argアノテーションで指定するメッセージの引数⑤target対象の実行メソッド●@Minlength(minlength=最小の文字数),@Maxlength(maxle
阅读全文
摘要:SAStrutsで使用するアノテーションを簡単にですが勉強のため並べてみます@~(この括弧内は無くても可能)●コンポーネント定義(app.dicon)のためのアノテーション①@Component(属性 = "指定名")→クラスに付与→DIのコンポーネント登録→属性name:コンポーネント名instance:ライフサイクルの属性autoBinding:自動バインディングの設定※instanceの指定名InstanceType.SINGLETON:シングルトンInstanceType.PROTOTYPE:複数インスタンス化可能InstanceType.SESSION:セッション
阅读全文
摘要:●アクション(~Action)①サーバーサイドの処理実装 ②メソッドのURLマッピング→実行メソッドに@Executeを付ける→マッピングされるルール 1.アクションのクラス名から末尾のActionを削除 2.アクションの先頭の文字を小文字 3.「アクション名/メソッド名/」がURL ※実行メソッドリクエストを処理するメソッド③URLパターン→実行メソッドに@Execute(validator = false, urlPattern = "マッピングURL")→実行メソッドはマッピングURLにマッピングされる④アクションからjspへの値受け渡しpublic String m
阅读全文
摘要:SAStrutsアクションにJSONを返すメソッドを作成してみる - 130単位↑で書いたコードに対し、気になった点があって直そうと思いました。が、あまりに修正点が多かったので新たに記事にしてみます。以前のコードAjaxでリクエストされ、従業員のリストをJSON形式で返すメソッドです。@Execute(validator = false)public String ajaxEmployeeList() { List<Employee> employeeList = employeeService.findByDeptId(form.departmentId); HashMa...
阅读全文
摘要:SAStrutsで、例外発生時にエラーページに遷移させたい。これが今回やりたいこと。どうやらStrutsの機能でできるようです。以下はリファレンスの引用です。struts-config.xml<global-exceptions> <exception path="/error/norole.jsp"key="errors.norole"type="org.seasar.struts.exception.NoRoleRuntimeException"/></global>Super Agile St
阅读全文
摘要:SAStruts アクションにJSONを返すメソッドを作成してみる - 130単位前回の続きです。やりたいことは以下。部署:従業員:2つのセレクトボックス片方の選択により、Ajaxでもう片方の項目を動的生成前回はSAStrutsでサーバー側のJSONを返す処理を作成しました。今回はクライアント側のJavaScriptです。jQueryを使います。getでJSONを取得するメソッドのリファレンスを確認します。jQuery.getJson(url, data, callback )HTTP(GET)通信でJSON形式のデータを読み込む。no title引数は順に、リクエストURL、パラメータ、コー
阅读全文
摘要:部署:従業員:このような2つのセレクトボックスがあって、部署の選択に応じて、従業員のセレクトボックスを動的に生成したいとします。これを、Ajaxを使ってSAStrutsで実現しようとしてました。StringBufferの例アクションにAjaxリクエスト用のメソッドを作成します。※パラメータの部署idはアクションフォームで定義されているとします。@Execute(validator = false)public String ajaxEmployeeList() { List<Employee> employeeList = employeeService.findByDeptId(
阅读全文
摘要:AS400のDB2では、通常ではトランザクションが扱えないようです。ただし、ジャーナル処理を設定すれば扱えるようになるみたいです。*1で、今回の案件。ジャーナルは作成しないIDはテーブルを使って採番という方針があり、それと関連してFOR UPDATEについてあれこれ調べたりしてました。DB2で「SELECT ... FOR UPDATE」のロックを検証 - 130単位S2JDBC DB2DialectでのforUpdate()を調べてみた - 130単位さて、Javaには「synchronized」という修飾子があるそうです。これをメソッドの宣言に記述すれば、排他処理が行えるとのこと。Java
阅读全文
摘要:採番用テーブルによってidの採番を行う場合、「SELECT ... FOR UPDATE」を使えばよい、というのがここ1年で覚えた知識のひとつ。ただ、あまり深くは理解していませんでした。一番の疑問点は、「FOR UPDATE」という文字列の指す意味。ふつうに訳すと「更新のための」となり、照会は問題なく行えそうな気がしてきます。仮に照会が行えるとしたら、極めて近いタイミングのアクセスがが発生した場合、重複したidができる可能性があることになってしまいます。また、ロックの種類はおおまかに共有ロック(照会可能、更新不可)と排他ロック(照会・更新とも不可)があるようです。FOR UPDATEで実際に排
阅读全文

浙公网安备 33010602011771号