版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Struts標(biāo)簽:1.通用標(biāo)簽:(1)property(2)bean(3)param(4)debug2.控制標(biāo)簽:(1)if elseif else(2)iterator一、property標(biāo)簽類似于上節(jié)課的例子,1.在WebRoot下新建一個(gè)index_tags.jsp:<% page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath
2、= request.getScheme()+":/"+request.getServerName()+":"+request.getServerPort()+path+"/"%><!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN"><html> <head> <title>My JSP 'index.jsp' starting page</title> </hea
3、d> <body> 訪問屬性:<a href="http:/localhost:8080/ch2_example1/test/tags.action?username=aaa&password=bbb">tags</a> </body></html>2.新建一個(gè)my.tags.TagsAction:package my.tags;import com.opensymphony.xwork2.ActionSupport;public class TagsAction extends ActionSupp
4、ortprivate String username;private String password;public String execute()this.addFieldError("fielderror.test", "wrong!");return SUCCESS;public String getUsername() return username;public void setUsername(String username) this.username = username;public String getPassword() retur
5、n password;public void setPassword(String password) this.password = password;3.修改struts.xml:<package name="mypack" namespace="/test" extends="struts-default"><action name="tags" class="my.tags.TagsAction" method="execute"> <r
6、esult name="success">/WEB-INF/page/tags.jsp </result> </action></package>4.在WEB-INF/page下新建tags.jsp:<% page language="java" import="java.util.*" pageEncoding="UTF-8"%><% taglib prefix="s" uri="/struts-tags" %&g
7、t;<!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN"><html> <head> <title>My JSP 'tags.jsp' starting page</title> </head> <body> <ol> <li>property:<s:property value="username"/></li> <li>prop
8、erty賦值為字符串:<s:property value="'username'"/></li> <li>property設(shè)為默認(rèn)值:<s:property value="admin" default="管理員"/></li> <li>property設(shè)定HTML:<s:property value="'<hr/>'" escape="true"/></li>
9、; </ol> </body></html>測(cè)試:在地址欄輸入:http:/localhost:8080/ch2_example1/index_tags.jsp點(diǎn)擊超鏈接tags得到下面的結(jié)果:1. property:aaa 2. property賦值為字符串:username 3. property設(shè)為默認(rèn)值:管理員 4. property設(shè)定HTML:<hr/> 解釋: <li>property:<s:property value="username"/></li>這個(gè)用法上節(jié)課已經(jīng)講過
10、,不解釋了。 <li>property賦值為字符串:<s:property value="'username'"/></li>這是把username作為字符串處理。 <li>property設(shè)為默認(rèn)值:<s:property value="admin" default="管理員"/></li>這是給admin賦默認(rèn)值,如果admin有值,則取它的值顯示,如果沒有,則顯示默認(rèn)值。 <li>property設(shè)定HTML:<s:prop
11、erty value="'<hr/>'" escape="true"/></li>如果把escape改為false,則將對(duì)<hr/>進(jìn)行解析。2、 Bean標(biāo)簽:Bean標(biāo)簽用于創(chuàng)建一個(gè)JavaBean的實(shí)例,創(chuàng)建實(shí)例時(shí)通過<s:param/>給JavaBean傳入?yún)?shù)。如果通過<s:param/>給JavaBean傳入屬性值則需要給JavaBean設(shè)置Setter方法,如果需要訪問JavaBean的屬性則需要設(shè)置Getter方法。Bean標(biāo)簽有兩個(gè)屬性:1. Name:必
12、填的屬性,指定需要實(shí)例化的Java類2. Var:可選項(xiàng)。如指定了該屬性,則該JavaBean實(shí)例會(huì)被放入StackContext中(不是ValueStack),從而允許直接通過該var屬性來訪問該JavaBean的實(shí)例。新建Person類package my.ognl;public class Person private String name;private String major;public String getName() return name;public void setName(String name) = name;public String get
13、Major() return major;public void setMajor(String major) this.major = major;public String method1()return "來自JavaBean的方法"public String method1(String name)return name+"來自JavaBean的方法"新建index1.jsp:<% page language="java" import="java.util.*" pageEncoding="
14、;UTF-8"%><%taglib prefix="s" uri="/struts-tags"%><%String path = request.getContextPath();String basePath = request.getScheme()+":/"+request.getServerName()+":"+request.getServerPort()+path+"/"%><!DOCTYPE HTML PUBLIC "-/W3
15、C/DTD HTML 4.01 Transitional/EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'index1.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control&quo
16、t; content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!-<link rel="
17、stylesheet" type="text/css" href="styles.css">-> </head> <body> <s:bean name="my.ognl.Person"> <s:param name="name" value="'zhangsan'"></s:param> my name is:<s:property value="name"/> &
18、lt;/s:bean> </body></html>訪問該jsp,得到結(jié)果為:修改index1.jsp:<body> <s:bean name="my.ognl.Person" var="person"> <s:param name="name" value="'zhangsan'"></s:param> </s:bean> my name is:<s:property value="#pers
19、"/> </body>得到的結(jié)果是一樣的。如果想訪問JavaBean中的方法,修改index1.jsp: <body> <s:bean name="my.ognl.Person" var="person"> <s:param name="name" value="'zhangsan'"></s:param> </s:bean> my name is:<s:property value=&quo
20、t;#"/> <s:property value="#person.method1()"/> <s:property value="#person.method1('ooo')"/> </body>測(cè)試結(jié)果為:在tags.jsp中加入,通過debug標(biāo)簽查看結(jié)果 <li>定義bean:<s:bean name="my.ognl.Dog"> </s:bean></li> <li>定義bea
21、n:<s:bean name="my.ognl.Dog" var="mydog"> <s:param name="name" value="'dagou'"></s:param> </s:bean></li> <s:debug></s:debug>在tags.jsp中加入以下語句:查看結(jié)果及值棧內(nèi)容: <li>定義bean:<s:bean name="my.ognl.Dog"&g
22、t; <s:param name="name" value="'xiaogou'"></s:param> <s:property value="name"/> <s:debug></s:debug> </s:bean></li>結(jié)果為:注意:<s:bean>開始的時(shí)候,新建對(duì)象,放到棧頂。執(zhí)行結(jié)束,對(duì)象就不在棧中了。所以一定要在<s:bean>中賦值和取值,否則取不到。如果想在<s:bean>執(zhí)行完之
23、后還能使用,就用var。修改var這一部分: <li>定義bean:<s:bean name="my.ognl.Dog" var="mydog"> <s:param name="name" value="'dagou'"></s:param> </s:bean> 取狗的名字:<s:property value="#"/></li>注意:此時(shí)mydog是放在了ActionCont
24、ext中,可以通過#取出來。三、fielderror標(biāo)簽修改tags.jsp <s:fielderror fieldName="fielderror.test" theme="simple"> </s:fielderror>查看輸出結(jié)果。四、if、elseif、else標(biāo)簽修改tags.jsp: <li>if,elseif,else:age= <s:property value="#parameters.age"/> </li>在地址欄輸入:http:/localhost:8
25、080/ch2_example1/test/tags.action?username=aaa&password=bbb&age=8&age=10得到一個(gè)集合if,elseif,else:age= 8, 10 如果希望得到集合中的第一個(gè)值,則寫為: <li>if,elseif,else:age= <s:property value="#parameters.age0"/> </li>在剛才的基礎(chǔ)上使用分支控制標(biāo)簽: <li>if,elseif,else:age= <s:property value=
26、"#parameters.age0"/> <s:if test="#parameters.age0<0">wrong data</s:if> <s:elseif test="#parameters.age0<18">still child</s:elseif> <s:else>mr right!</s:else> </li>修改地址欄傳入的年齡值,查看不同的結(jié)果。繼續(xù)修改tags.jsp:如果沒有aaa這個(gè)屬性,則可以這樣判斷: &l
27、t;li> <s:if test="#parameters.aaa=null">aaa is null</s:if> </li>五、iterator標(biāo)簽 <li> 遍歷集合:<s:iterator value="1,2,3"> <s:property/> | </s:iterator> </li> <li> 自定義變量:<s:iterator value="'aaa','bbb','cc
28、c'" var="x"> <s:property value="#x.toUpperCase()"/> | </s:iterator> </li>1. 遍歷集合: 1 | 2 | 3 | 2. 自定義變量: AAA | BBB | CCC | <li> 使用status:<s:iterator value="'aaa','bbb','ccc'" status="status"> <
29、;s:property/> | 遍歷的元素個(gè)數(shù):<s:property value="#status.count"/> 遍歷的元素索引:<s:property value="#status.index"/> 遍歷的是否偶數(shù):<s:property value="#status.even"/> 遍歷的是否奇數(shù):<s:property value="#status.odd"/> 遍歷的是否第一個(gè)?<s:property value="#status.first"/> 遍歷的是否最后一個(gè)?<s:property value="#status.last"/> &
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年私人房產(chǎn)買賣合同環(huán)保要求與執(zhí)行標(biāo)準(zhǔn)3篇
- 2025年度路演展示廳清潔維護(hù)服務(wù)租賃合同4篇
- 二零二五版水利工程開工合同范例2篇
- 2025年度多功能培訓(xùn)學(xué)校教室租賃合同范本3篇
- 2025年度廚師行業(yè)人才引進(jìn)與培養(yǎng)服務(wù)協(xié)議3篇
- 2025年度文化藝術(shù)品樣品展覽與上樣合作協(xié)議3篇
- 2024綜藝節(jié)目拍攝基地租賃合同
- 2025年物業(yè)保潔外包服務(wù)合同(含節(jié)能環(huán)保服務(wù))3篇
- 2025年度智能電網(wǎng)建設(shè)采購戰(zhàn)略合作協(xié)議合同范本3篇
- 2025年消防給排水系統(tǒng)節(jié)能改造與優(yōu)化合同3篇
- 人教版小學(xué)數(shù)學(xué)(2024)一年級(jí)下冊(cè)第一單元 認(rèn)識(shí)平面圖形綜合素養(yǎng)測(cè)評(píng) B卷(含答案)
- 企業(yè)年會(huì)攝影服務(wù)合同
- 電商運(yùn)營(yíng)管理制度
- 二零二五年度一手房購房協(xié)議書(共有產(chǎn)權(quán)房購房協(xié)議)3篇
- 2025年上半年上半年重慶三峽融資擔(dān)保集團(tuán)股份限公司招聘6人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 城市公共交通運(yùn)營(yíng)協(xié)議
- 內(nèi)燃副司機(jī)晉升司機(jī)理論知識(shí)考試題及答案
- 2024北京東城初二(上)期末語文試卷及答案
- 2024設(shè)計(jì)院與職工勞動(dòng)合同書樣本
- 2024年貴州公務(wù)員考試申論試題(B卷)
- 電工高級(jí)工練習(xí)題庫(附參考答案)
評(píng)論
0/150
提交評(píng)論