liguofeng29’s blog

個人勉強用ブログだっす。

2016-01-01から1年間の記事一覧

Spring4 - DI (依頼注入)サンプル

SpringのDI(Dependency Inject - 外部注入)を試してみよう。 Springはインタフェース指向のプログラミングを推奨する。よって規範と実装を分離し疎結合を実現する。 1. 人とペンのインタフェースを定義する package app; public interface Person { public …

Struts2 - タグ - tokenタグ -2重送信防止

Strun2のtokenタグを使い2重送信(多重submit)を防止できる。 1. 入力画面を作成する(2重送信防止する画面) s-token.jsp <%@ page contentType="text/html; charset=UTF-8" language="java" errorPage=""%> <%@taglib prefix="s" uri="/struts-tags"%> <html> <head> <title>s:</title></head></html>…

Struts2 - タグ - UIタグ

struts2のUIタグは、formタグと非formタグ2種類ある。 formタグ textfield head checkboxlist radio select optgoup updownselect doubleselect optiontransferselect token : 2重サブミット防止 非formタグ actionerror : getActionErrors() != nullの場合…

Struts2 - タグ - データタグ

データタグはデータアクセス関連機能を提供する。Action内の属性、国際化など。 データタグ種類 s:action : Action実行、結果viewを読み込む s:bean : インスタンス生成 s:param : パラメータ提供 s:date : 日付出力、指定日付との差出力 s:push : Value Sta…

Struts2 - タグ - 制御タグ

制御タグはプロセス制御、ValueStackの操作などを行う。 制御タグ種類 if elseIf/elseif else append : 集合結合 generator : 分割 iterator : 集合巡り merge : 集合結合 subset : 集合一部取得 sort : ソート if/elseif/else <%@ page contentType="text/h…

Struts2 - タグ分類

struts2のタグ分類。 ・非UIタグ 制御タグ データタグ ・UIタグ formタグ 非formタグ ・Ajaxタグ

Struts2 - Stack Context

<%@ page contentType="text/html; charset=UTF-8" language="java" errorPage="" %> <%@ taglib prefix="s" uri="/struts-tags"%> <html> <head> <title>WELCOME</title> </head> <body> Value Stack:<br> ユーザ名:<s:property value="username"/><br> パスワード:<s:property value="password"/><br> Stack Conte…</s:property></s:property></body></html>

Struts2 - interceptor - 権限チェックを行う

1. interceptorを実装する package interceptor; import java.util.Map; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.inte…

Struts2 - interceptor

Struts2では、actionメソッド前後の処理(interceptor)を定義できる。 ・interceptor定義関連要素 <interceptors..> : rootタグ <interceptor..> : interceptor定義 <interceptor-stack..> : interceptorのstack定義 <interceptor-ref..> : interceptor参照 <param..> : interceptorのパラメータ定義 <default-interceptor-ref..> : デフォルトinterceptor ・デフォルトのin</default-interceptor-ref..></param..></interceptor-ref..></interceptor-stack..></interceptor..></interceptors..>…

Struts2 - ajax - jsonプラグイン利用

struts2-json-plugin-xx.xx.xx.jarを使い、ResultのタイプでJSONを使用できる。 sturts.xml 略 <constant name="struts.i18n.encoding" value="UTF-8"/> <package name="example" extends="json-default"> <action name="JSONExample" class="action.JSONExampleAction"> <result type="json"> </result></action></package></constant>

Struts2 - ajax - streamタイプ利用

struts.xml 略・・・ <action name="register" class="action.RegisterAction"> <result type="stream"> <param name="contentType">text/html</param> <param name="inputName">inputStream</param> </result> </action> RegisterAction.java 略・・・ public String execute() throws E…

Struts2 - validation(annotationと手動)

Struts2の検証は、検証ファイル以外にannotationと手動でも実現できる。 annotation利用 setterにannnotationをつける @RequiredStringValidator(key="name.requried") public String getName() { return this.name; } @RequiredStringValidator(message="an…

Struts2 - validation(検証ファイル利用)

Struts2のバリデーション機能を使い、入力値をチェックを行える。 ルール ファイル名 : <Action名>-validation.xml バリデーション失敗後は、input対応のviewを返す actionと同じパス内 サンプル JSP register-input.jsp <%@ page language="java" contentType="text/h</action名>…

Struts2 - 型変換例外処理

Struts2は、conversionErrorインターセプタで型変換例外を処理する。 struts-default.xml 略 <interceptor name="conversionError" class="org.apache.struts2.interceptor.StrutsConversionErrorInterceptor"/> 略 <interceptor-ref name="conversionError"/> 型変換例外処理流れ リクエスト ⇒ 型変換例外 ⇒ inputのview デフォルトメッセージ変更 グローバル リソースファイル xwork.defalut.in…</interceptor-ref></interceptor>

Struts2 - カスタム型変換

struts2は、カスタム型変換を提供している。 リクエストパラメータ「alex,20」 をuser.name=alex,user.age=20のuserオブジェクトへ変換可能。 カスタム型変換実装手順 ・型変化クラス定義 : TypeConverterのIFの実現する。 OGNLプロジェクトでは、TypeConver…

Struts2 - 自動型変換

Struts2は、自動的にリクエストパラメータを適切な型に変換してくれる。 基本型 + 配列 + 集合 boolean,Boolean char,Character int,Integer long,Long float,Float Date Array 集合 : デフォルトではArrayList OGNLに基づく変換 オブジェクト オブジェクト…

Struts2 - 国際化

Struts2を使い、国際化する方法。 【国際化の流れ】 国際化リソース読み込み 自動 : Action範囲、パッケージ範囲はシステムが自動読み込み 手動 : view(JSP)範囲、グローバル範囲は、タグと設定により手動読み込み <s:i18n.../> 国際化出力 Action内では、ActionSupprot#</s:i18n.../>…

Struts2 - Convention(協定) - Action Chain

Action処理後にviewではなく、他のActionへ遷移することをActionChainと言う。 Conventionによる、ActionChainする際にルール 遷移元Actionのview名がない 遷移先Actionは遷移元Actionと同じパッケージ内 遷移先ActionのURLは、firstActionName + resultCode…

Struts2 - Convention(協定)

Struts2.1からConventionプラグインを使い、strtus.xml,Annotionを使わず配置ができる。 【Actionの検索と射影の協定】 Action検索対象のパッケージ action actions struts struts2 パッケージ内容のActionクラス com.opensymphony,xwork2.Action実装 XxxxAc…

Struts2 - 例外処理

struts2のactionの例外処理については、フレームワークに依頼できる。 例外処理のフィルタ struts-default.xml <interceptors> <interceptor name="exception" class="com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor"/> <interceptor-stack name="defaultStack"> <interceptor-ref name="exception"/> </interceptor-stack> </interceptor></interceptors>

Struts2 - Action実装と配置

Actionクラスは、MVCモデルに置いてC(Controller)に該当する。 Actionクラスの実装 POJO(Plane Old Java Object) : なにも継承しないクラス public class LoginAction { // field,setter,gettor public String execute() throws Exception { return "success…

jQuery - 基本 (jQuery対象生成、セレクタ、フィルターなど)

・競合を解消 var j = jQuery.noConflict(); j("#id").html("innerHTML"); ・jQuery対象生成 jQuery(expression[,context]) jQuery(elements) jQuery(html[,document]) jQuery(html,props) jQuery(objects) <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title> jQuery対象取得 …</meta></head></html>

jQuery - Callback

jQeury1.7からCallbackの仕組みを提供している Callbacks対象生成 jQeury.Callbacks(flags) flags種類 once : 一回だけfire memory : 前回の引数をキャッシュする unique : 重複する関数なし stopOnFalse : falseを返す関数で実行中止 Callbacksのメソッド a…

jQuery - イベントの発生原(Event Resource)

純粋なjavascriptの場合、異なるブラウザでイベント発生原の取得方法が異なる。 jQeuryは、ブラウザによる取得方法の差異を解消している。 jQeuryのイベント原の属性 data : イベントdata pageX : mouseのX座標 pageY : mouseのY座標 currentTarget : 伝播中…

jQuery - 特定イベントの紐付け

jQeuryは、汎用的にバインドする方法以外に特定のイベント紐付けも提供している。 イベント種類 mouse関連 click(), dbclick(), hover(), mousedown(), mouseenter(), mouseleaver(), mousemove(), mouseout, mouseover(), mouseup(), focusin(), focusout()…

jQuery - イベントの紐付け(binding)

jQueryは、javascriptのイベントバインドを簡略化している。 バインド関連メソッド ready(fn) : ロードされたら呼ばれる関数紐付け 代表的なのが、$(document).ready(fn) : body要素内にonloadがないこと。あればreadyは呼ばれない。 bind(type[,data], fn(e…

jQuery - DOMのnode関連操作

jQueryは、node生成、削除、追加、複製などができる。 DOMのnode操作関連メソッド 生成 $("<a></a>") $("<a></a>", { href: "xxxx.html", target: "_blank", "class": "myClass" }); // 1.8から? $("<div></div>", { width: 100, height: 100, css: {border: "5px solid gray"}, addC…

jQuery - DOMのコンテンツ操作

DOMのコンテンツには主にinnetHTML、テキスト、value属性など。 jQueryオブジェクトのメソッド innetText html() html(val) テキスト text() text(val) formの要素 val() val(val) val(Array) - 複数選択select,checkboxなど <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title> jQueryのコンテンツ操作 </title> </meta></head></html>

jQuery - DOMのCSS操作

jQueryを通してDOMのCSSを操作できる。 class関連 addClass(class) hasClass(class) removeClass(class) toggleClass(class) : classがあれば追加、なければ削除!! css関連 css(name) : 取得 css(name, value) : 単一設定 css(properties) : 複数設定 位置…

jQuery - DOM属性関連操作

jQueryを通してDOMの属性の取得、追加、削除の操作が可能。 取得 attr(name) prop(propName) 追加 attr(name, value) attr(map) attr(key, fn) prop(properties) prop(name, value) prop(key, fn) 削除 removeAttr(name) removeProp(name) ※attrとpropの違い…