鎴戜滑鍙渶瑕佸湪Action Class鐨勭被鐨勫墠闈㈠姞涓夽Result鍗沖彲浠ュ畾涔堿ction鐨勮煩杞?/font>
渚嬪:
涓婇潰鏄竴涓吀鍨嬬殑澶歊esult閰嶇疆,name灞炴ф寚瀹氳繑鍥炵殑瀛楃涓?value鎸囧畾瑕佽煩杞殑欏甸潰,type鎸囧畾Result鐨勭被鍨?type鏄竴涓緢閲嶈鐨勫睘鎬?浠栨湁涓涓嬪嚑縐嶆儏鍐?
1)NullResult : 榛樿鐨勫彲浠ョ渷鐣?/font>
2)ActionChainResult : 鐢ㄤ簬浠庝竴涓狝ction璺寵漿鍒板彟澶栦竴涓狝ction
渚嬪:
榪欎釜閰嶇疆鏄鏋滆繑鍥炲間負"search"灝辮煩杞帀SearchAction鐨剆earch鏂規硶,濡傛灉涓嶆寚瀹歱arams灝辮煩杞埌SearchAction鐨別xecute鏂規硶
3)StreamResult:鐢ㄤ簬鏂囦歡涓嬭澆
渚嬪:
浣滀負Struts2鐨凙nnotation閰嶇疆涓渶閲嶈鐨凴esult閰嶇疆澶ц嚧鏈夎繖鍑犵鎯呭喌,鍏充簬Struts2 Annotation鐨勫叾浠栭厤緗垜涔熶笉鏄崄鍒嗕簡瑙?灝變互鍚庡湪浠嬬粛鍚?!!
struts2 Annotation maven pom xml錛?/p>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-codebehind-plugin</artifactId>
<version>2.1.6</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Struts2瀹樻柟鏂囨。鍦ㄨ榪伴厤緗殑鏃跺欙紝涓寮濮嬪氨鏉ヤ簡涓?#8220;0閰嶇疆”(Zero Configuration)錛屽ぇ鎰忓氨鏄鍦╯truts搴旂敤涓笉浣跨敤浠諱綍xml鏂囦歡鎴栬卲roperties鏂囦歡錛屽厓鏁版嵁(Metadate)閮界敤閫氳繃 綰﹀畾(convention)鍜屾敞瑙?annotation)鏉ヨ〃杈劇殑錛岃屼笖榪欐槸struts2鐨勪竴涓柊鐗規э紝鐩墠浠嶅湪嫻嬭瘯涓紝鐩稿叧鏂囨。涔熷緢綺楃暐銆傛帴涓嬫潵 鐨勪竴閮ㄥ垎璁茶堪鐨勫氨鏄疉nnotation錛屾垜綺楃暐鐨勭湅浜嗕竴涓嬶紝浼拌瀹冨氨鏄?#8220;0閰嶇疆”鐨勬牳蹇冩墍鍦紝鎴戞嬁鏂囨。涓渶綆鍗曠殑涓涓緥瀛愭潵鐪嬩竴涓嬶細
@Result(name="success", value="/home.page", type=TilesResult.class)
public class HomeAction extends ActionSupport {
// ...
}
綰? 搴曠殑閮ㄥ垎灝辨槸鎴戜滑鎵璇寸殑Annotation錛屽畠璇存槑榪欎釜褰撹繖涓猘ction榪斿洖鍊間負”success”鏃墮〉闈㈠氨璺寵漿鍊?home.pag錛屽氨鐩稿綋浜庢垜浠? 鍦╯truts.xml涓厤緗殑result鍏冪礌錛岄噰鐢ㄤ簡榪欎釜Annotiation涔嬪悗鎴戜滑灝變笉鐢ㄥ啓閰嶇疆鏂囦歡浜嗭紝瀹炵幇浜嗘墍璋撶殑“0閰嶇疆”銆備竴鑸垜浠湪閰? 緗產ctio鐨勬椂鍊欓兘浼氬嚭鐜板涓猺esult錛岃繖鏃禔nnotation灝卞彲浠ヨ繖涔堝啓錛?/p>
@Results({
@Result(name="success", value="/home.page", type=TilesResult.class),
@Result(name="homeError", value="/homeError.page", type=tilesResult.class)
})
榪樻湁涓涓棶棰橈紝濡傛灉娌℃湁閰嶇疆鏂囦歡鎴戜滑濡備綍鐭ラ亾鍘誨摢鍎胯皟鐢ㄥ摢涓猘ction鍛紵涓轟簡瀹屾垚榪欎釜鍔熻兘鎴戜滑闇瑕佽繖鏍烽厤緗畐eb.xml鏂囦歡錛?/p>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value>com.foo.bar,com.baz.quux</param-value> <!--榪欓噷鎴戜滑鍙互璁劇疆鍒癱om.kelven.action鍗沖彲錛屽懡鍚嶇┖闂翠互@namespace涓哄噯-->
</init-param>
</filter>
鍏跺疄涔熸病浠涔堢壒孌婄殑錛屽氨鏄粰鎴戜滑鐨凜ontroller鍔犱簡涓涓弬鏁癮ctionPackages錛屼粠瀛楅潰涓婄悊瑙o紝Controller灝嗕細浠巆om.foo.bar鍜宑om.baz.quux榪欎袱涓寘涓幓瀵繪壘action錛屽叿浣撶殑嫻佺▼鏄繖鏍風殑錛?/p>
1錛庣郴緇熼鍏堥氳繃web.xml鏂囦歡瑁呰澆FilterDispatcher綾伙紝瀹冭鏈塧ctionPackages鍙傛暟
2錛嶧ilterDispatcher浼氬垵濮嬪寲涓涓狣ispatcher錛屽茍浼犻抋ctionPackages鐨勫?/p>
3錛嶥ispatcher浼氬垵濮嬪寲涓涓狢lasspathConfigurationProvider瀵硅薄錛岀敤瀹冩潵瀛樻斁涓涓垨澶氫釜Configuration Providers
4錛嶥ispatcher緇機onfigurationManager瀵硅薄澧炲姞涓涓狢lasspathConfigurationProvider鏉ュ鐞哸ctionPackages鍙傛暟
5錛嶴omeone浼氳皟鐢–lasspathConfigurationProvider鐨刲oadpackages鏂規硶
6錛嶭oadpackages 浼氶鍏堝埄鐢≧esolverUtil浠庢墍鍒梡ackage(灝辨槸actionPackages鍙傛暟鐨勫?涓壘鍒版墍鏈夊疄鐜頒簡Action鎺ュ彛鍜屽悕瀛楀甫鏈? Action鍚庣紑鐨勭被錛岀劧鍚庤繖浜涚被浼氶泦涓斁鍏ヤ竴涓猄et闆嗗悎涓紝鐒跺悗榪欎釜Set涓殑姣忎釜綾婚兘浼氳浼犻掔粰processActionClass鏂規硶
7錛巔rocessActionClass棣栧厛紜畾鍛藉悕絀洪棿錛岀劧鍚庢崟鎹変換浣昉arentPackage鍜孯esults綾誨瀷鐨凙nnotation錛屾帴鐫鍒涘緩涓涓狝ctionConfig錛岃緗產ction name錛宲ackage name浠ュ強results銆?/p>
姝ラ7鑾峰彇action鍚嶅瓧鐨勮鍒欐槸榪欐牱鐨勶細灝哸ction name浠庝換浣?#8220;Action”鍚庣紑鍓嶉潰鎴彇鎺夛紝濡傛灉action name鍚湁“/”鐨勮瘽錛岄偅涔堝皢鏈鍚庝竴涓?#8220;/”鍚庨潰鐨勭涓涓瓧姣嶅彉涓哄皬鍐欍傝繕鏄婦渚嬫潵榪涜璇存槑鍚э細
濡傛灉鎴戜滑鐨刟ctionPackages鍙傛暟鏄?em>com.myapp.actions錛屾垜浠殑Action綾繪槸com.myapp.actions.member.EditAction錛岄偅涔堟垜浠彲浠ラ氳繃涓嬮潰鐨剈rl鏉ヨ闂繖涓被錛歨ttp://server/myapp/member/edit.action.涔熷氨鏄瓙鍖?subpackage)灝嗘垚涓簄amespace錛岃宎ction綾誨悕灝嗘垚涓篴ction name銆傚鏋滅被鍚嶆湁涓涓?#8220;Action”鍚庣紑錛岄偅涔堝畠灝嗚鍘繪帀銆?/p>
鑷? 姝ゆ垜浠氨瀹炵幇鎴戜滑鐨?#8220;0閰嶇疆”浜嗭紝^_^錛孉nnotation鍦ㄥ叾涓繕鏄壆婕旂潃闈炲父閲嶈鐨勪綔鐢ㄧ殑錛岄櫎浜嗘垜浠墠闈㈠凡鎻愬埌鐨凴esult Annotation榪欎釜Action Annotations澶栵紝榪樻湁Interceptor Annotations銆乂alidation Annotations鍜孴ype Conversion Annotations錛屽洜涓洪」鐩腑鍩烘湰涓婃病鏈夌敤鍒拌繖涓柊鐗規э紝鎴戜篃灝辨病鏈夋繁鍏ョ殑鐪嬭繖浜汚nnotations鐨勮緇嗕嬌鐢ㄦ柟娉曚簡銆?/p>
from:http://blog.csdn.net/cmtobby/archive/2007/09/02/1769390.aspx
Tags: struts struts2 閰嶇疆 Annotation
鍘熷垱鏂囩珷濡傝漿杞斤紝璇鋒敞鏄庯細杞澆鑷細椋炴壃閮ㄨ惤緙栫▼浠撳簱 : http://www.busfly.cn/csdn/
鏈枃閾炬帴鍦板潃錛?a >http://www.busfly.cn/csdn/post/Struts-Struts2-Annotation.html
濡傛灉浣犲枩嬈㈡湰鏂囷紝璇烽《涓涓嬶紝鏀寔鎴戯紝浣犵殑鏀寔鏄垜緇х畫鍙戝ソ鏂囩珷鐨勬渶澶у姩鍔涖傝阿璋€?
濂戒笢瑗塊渶瑕佸垎浜紝蹇妸鏈枃鍙戠粰浣犵殑鏈嬪弸鍚!~