![第15章struts2標(biāo)簽_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/5497ced9-51d7-44bc-93c5-3b81450f280b/5497ced9-51d7-44bc-93c5-3b81450f280b1.gif)
![第15章struts2標(biāo)簽_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/5497ced9-51d7-44bc-93c5-3b81450f280b/5497ced9-51d7-44bc-93c5-3b81450f280b2.gif)
![第15章struts2標(biāo)簽_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/5497ced9-51d7-44bc-93c5-3b81450f280b/5497ced9-51d7-44bc-93c5-3b81450f280b3.gif)
![第15章struts2標(biāo)簽_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/5497ced9-51d7-44bc-93c5-3b81450f280b/5497ced9-51d7-44bc-93c5-3b81450f280b4.gif)
![第15章struts2標(biāo)簽_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/5497ced9-51d7-44bc-93c5-3b81450f280b/5497ced9-51d7-44bc-93c5-3b81450f280b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
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下新建一個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.新建一個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>測試:在地址欄輸入: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>這個用法上節(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,則將對<hr/>進(jìn)行解析。2、 Bean標(biāo)簽:Bean標(biāo)簽用于創(chuàng)建一個JavaBean的實(shí)例,創(chuàng)建實(shí)例時通過<s:param/>給JavaBean傳入?yún)?shù)。如果通過<s:param/>給JavaBean傳入屬性值則需要給JavaBean設(shè)置Setter方法,如果需要訪問JavaBean的屬性則需要設(shè)置Getter方法。Bean標(biāo)簽有兩個屬性:1. Name:必
12、填的屬性,指定需要實(shí)例化的Java類2. Var:可選項(xiàng)。如指定了該屬性,則該JavaBean實(shí)例會被放入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>測試結(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>開始的時候,新建對象,放到棧頂。執(zhí)行結(jié)束,對象就不在棧中了。所以一定要在<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>注意:此時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得到一個集合if,elseif,else:age= 8, 10 如果希望得到集合中的第一個值,則寫為: <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這個屬性,則可以這樣判斷: &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/> | 遍歷的元素個數(shù):<s:property value="#status.count"/> 遍歷的元素索引:<s:property value="#status.index"/> 遍歷的是否偶數(shù):<s:property value="#status.even"/> 遍歷的是否奇數(shù):<s:property value="#status.odd"/> 遍歷的是否第一個?<s:property value="#status.first"/> 遍歷的是否最后一個?<s:property value="#status.last"/> &
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)低年級聽評課記錄
- 【人教版】八年級地理上冊第一章第二節(jié)《人口》聽課評課記錄及優(yōu)化訓(xùn)練答案
- 蘇州蘇教版六年級數(shù)學(xué)上冊第三單元《分?jǐn)?shù)應(yīng)用題(1)》聽評課記錄
- 聽評課記錄六年級語文
- 新版華東師大版八年級數(shù)學(xué)下冊《16.2.2分式的加減分式的加減-同分母分式加減》聽評課記錄16
- 小學(xué)二年級數(shù)學(xué)100道口算題
- 蘇科版七年級數(shù)學(xué)上冊《2.2有理數(shù)與無理數(shù)》聽評課記錄
- 北師大版道德與法治七年級下冊1.2《理解情緒》聽課評課記錄
- 八年級歷史人教版下冊聽課評課記錄:第9課 對外開放
- 校企共建培訓(xùn)中心合作協(xié)議書范本
- 第五講鑄牢中華民族共同體意識-2024年形勢與政策
- 中華人民共和國學(xué)前教育法
- 2024年貴州公務(wù)員考試申論試題(B卷)
- 三年級(下冊)西師版數(shù)學(xué)全冊重點(diǎn)知識點(diǎn)
- 期末練習(xí)卷(試題)-2024-2025學(xué)年四年級上冊數(shù)學(xué)滬教版
- 2025年公務(wù)員考試申論試題與參考答案
- 抑郁癥課件教學(xué)課件
- 關(guān)于消防安全評估設(shè)備操作說明詳解
- 2025年高考作文專練(25道真題+審題立意+范文)- 2025年高考語文作文備考總復(fù)習(xí)
- 中國高血壓防治指南(2024年修訂版)要點(diǎn)解讀
評論
0/150
提交評論