strruts標籤使用簡介

web.xml配置如下:

Xml代碼
  1. < filter >   
  2.         < filter-name > struts2 </ filter-name >   
  3.         < filter-class >   
  4.             org.apache.struts2.dispatcher.FilterDispatcher  
  5.         </ filter-class >   
  6.     </ filter >   
  7.     < filter-mapping >   
  8.         < filter-name > struts2 </ filter-name >   
  9.         < url-pattern > /* </ url-pattern >   
  10.     </ filter-mapping >   

 

struts.xml配置如下:

Xml代碼
  1. < package   name = "tags"   extends = "struts-default" >   
  2.         < action   name = "tags"   class = "com.mengya.action.TagsAction" >   
  3.             < result   name = "success" > /tags.jsp </ result >   
  4.         </ action >   
  5.     </ package >   

 TagsAction如下:

Java代碼
  1. public   class  TagsAction  extends  ActionSupport {  
  2.     private  String username;  
  3.   
  4.     private  String password;  
  5.       
  6.     @Override   
  7.     public  String execute()  throws  Exception {  
  8.         this .addFieldError( "actionError" "error!!" );  
  9.         return  SUCCESS;  
  10.     }  
  11.       
  12.     public  String getPassword() {  
  13.         return  password;  
  14.     }  
  15.   
  16.     public   void  setPassword(String password) {  
  17.         this .password = password;  
  18.     }  
  19.   
  20.     public  String getUsername() {  
  21.         return  username;  
  22.     }  
  23.   
  24.     public   void  setUsername(String username) {  
  25.         this .username = username;  
  26.     }  
  27.   
  28. }  
public class TagsAction extends ActionSupport {
	private String username;

	private String password;
	
	@Override
	public String execute() throws Exception {
		this.addFieldError("actionError", "error!!");
		return SUCCESS;
	}
	
	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

}

 Dog Bean如下:

Java代碼
  1. public   class  Dog {  
  2.     private  String dogName;  
  3.   
  4.     public  String getDogName() {  
  5.         return  dogName;  
  6.     }  
  7.   
  8.     public   void  setDogName(String dogName) {  
  9.         this .dogName = dogName;  
  10.     }  
  11.   
  12.     @Override   
  13.     public  String toString() {  
  14.         return   "Dog:DogName="  + dogName;  
  15.     }  
  16.   
  17. }  
public class Dog {
	private String dogName;

	public String getDogName() {
		return dogName;
	}

	public void setDogName(String dogName) {
		this.dogName = dogName;
	}

	@Override
	public String toString() {
		return "Dog:DogName=" + dogName;
	}

}

 頁面struts標籤使用如下:

Html代碼
  1. < a   href = "tags.action?username=u&password=p&age=9" > Struts2Tags </ a >   
  2.   
  3.   
  4. < body >   
  5.         < ol >   
  6.             < li >   
  7.                 property:  
  8.                 < s:property   value = "username"   />   
  9.             </ li >   
  10.             < li >   
  11.                 property 取值爲字符串:  
  12.                 < s:property   value = "'username'"   />   
  13.             </ li >   
  14.             < li >   
  15.                 property 設定爲默認值:  
  16.                 < s:property   value = "admin"   default = "管理員"   />   
  17.             </ li >   
  18.             < li >   
  19.                 property 設定爲HTML:  
  20.                 < s:property   value = "'<hr/>'"   escape = "false"   />   
  21.             </ li >   
  22.             < hr   />   
  23.             < li >   
  24.                 set 設定mengya的值(默認爲Request和ActionContext):  
  25.                 < s:set   var = "mengya"   value = "username" > </ s:set >   
  26.             </ li >   
  27.             < li >   
  28.                 set 從request中取值:  
  29.                 < s:property   value = "#request.mengya"   />   
  30.             </ li >   
  31.             < li >   
  32.                 set 從ActionContext中取值:  
  33.                 < s:property   value = "#mengya"   />   
  34.             </ li >   
  35.             < li >   
  36.                 set 設定範圍:  
  37.                 < s:set   var = "adminPassword"   value = "password"   scope = "session"   />   
  38.             </ li >   
  39.             < li >   
  40.                 set 從相應的範圍取值:  
  41.                 < %=session.getAttribute("adminPassword")% >   
  42.             </ li >   
  43.             < li >   
  44.                 set 從相應的範圍取值:  
  45.                 < s:property   value = "#session.adminPassword"   />   
  46.             </ li >   
  47.             < hr >   
  48.             < li >   
  49.                 bean 定義bean,並使用bean的param來設定的新屬性值  
  50.                 < s:bean   name = "com.mengya.bean.Dog" > </ s:bean >   
  51.                 < %-- 沒有指定var則在 </ s:bean > 之前會構造一個對象放在椎頂在 </ s:bean > 結束之前則放到了actionContext中 --% >   
  52.             </ li >   
  53.             < li >   
  54.                 bean 定義bean,並使用bean的param來設定的新屬性值  
  55.                 < s:bean   name = "com.mengya.bean.Dog"   var = "myDog" >   
  56.                     < s:param   name = "dogName"   value = "'myDog'" > </ s:param >   
  57.                 </ s:bean >   
  58.                 取出值:  
  59.                 < s:property   value = "#myDog"   />   
  60.             </ li >   
  61.             < hr >   
  62.             < li >   
  63.                 include 包含靜態英文html  
  64.                 < s:include   value = "/include1.html" > </ s:include >   
  65.             </ li >   
  66.             < li >   
  67.                 include 包含靜態中文html  
  68.                 < s:include   value = "/include2.html" > </ s:include >   
  69.             </ li >   
  70.             < li >   
  71.                 < font   color = "red" > %的用法:%是將%{}中的內空強轉成ognl表達示而不是普通字符串 </ font >   
  72.                 < s:set   var = "incPage"   value = "'/include1.html'" > </ s:set >   
  73.                 < br >   
  74.                 < s:include   value = "incPage" > </ s:include >   
  75.                 < br >   
  76.                 < s:include   value = "%{incPage}" > </ s:include >   
  77.                 < %-- 將incPage作爲ognl表達式 --% >   
  78.             </ li >   
  79.             < li >   
  80.                 fielderror:  
  81.                 < s:fielderror   key = "actionError"   theme = "simple" > </ s:fielderror >   
  82.             </ li >   
  83.             < hr >   
  84.             < li >   
  85.                 if elseif else: age  =  
  86.                 < s:property   value = "#parameters.age[0]"   />   
  87.                 < s:if   test = "#parameters.age[0]<0" >   
  88.                     age error!  
  89.                 </ s:if >   
  90.                 < s:elseif   test = "#parameters.age[0]<20" >   
  91.                     to young!  
  92.                 </ s:elseif >   
  93.                 < s:else >   
  94.                     OK!  
  95.                 </ s:else >   
  96.                 &nbsp;&nbsp;|&nbsp;&nbsp;  
  97.                 < s:set   var = "age"   value = "#parameters.age[0]" > </ s:set >   
  98.                 < s:if   test = "age<0" >   
  99.                     age error!  
  100.                 </ s:if >   
  101.                 < s:elseif   test = "age<20" >   
  102.                     to young!  
  103.                 </ s:elseif >   
  104.                 < s:else >   
  105.                     ok!  
  106.                 </ s:else >   
  107.                 &nbsp;&nbsp;|&nbsp;&nbsp;  
  108.                 < s:if   test = "#parameters.aaa==null" > null </ s:if >   
  109.             </ li >   
  110.             < li >   
  111.                 遍歷集合:  
  112.                 < br >   
  113.                 < s:iterator   value = "{'aa','bb','cc'}" >   
  114.                     < s:property   /> &nbsp;|&nbsp;  
  115.                 </ s:iterator >   
  116.             </ li >   
  117.             < li >   
  118.                 自定義變量:  
  119.                 < br >   
  120.                 < s:iterator   value = "{'aa','bb','cc'}"   var = "temp" >   
  121.                     < s:property   value = "#temp"   /> &nbsp;|&nbsp; < s:property   
  122.                         value = "#temp.toUpperCase()"   />   
  123.                 </ s:iterator >   
  124.             </ li >   
  125.             < li >   
  126.                 使用status:  
  127.                 < br >   
  128.                 < s:iterator   value = "{11,22,33}"   status = "status" >   
  129.                     < s:property   /> &nbsp;|遍歷過的總元素: < s:property   value = "#status.count"   /> &nbsp;|當前元素索引: < s:property   
  130.                         value = "#status.index"   /> &nbsp;|當前值是否爲偶數: < s:property   
  131.                         value = "#status.even"   /> &nbsp;|當前值是否爲奇數: < s:property   
  132.                         value = "#status.odd"   /> &nbsp;|當前值是否爲第一個: < s:property   
  133.                         value = "#status.first"   /> &nbsp;|當前值是否爲最後一個: < s:property   
  134.                         value = "#status.last"   />   
  135.                     < br   />   
  136.                 </ s:iterator >   
  137.             </ li >   
  138.             < s:debug > </ s:debug >   
  139.         </ ol >   
  140.         總結:  
  141.           
  142.         $用於i18n和struts配置文件  
  143.         #用於得到ActionContext的值  
  144.         %將原本的文本屬性解析爲OGNL表達式,對於本來就是OGNL的屬性不起做用  
  145.           
  146.     </ body >  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章