Struts1之Action小结
生活随笔
收集整理的這篇文章主要介紹了
Struts1之Action小结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.ForwardAction:用于請求轉發。
? 例如:錨點標記,為了保持MVC的結構,在使用錨點標記是不直接跳轉頁面,而是通過跳轉到XX.do 由ForwardAction實現頁面跳轉。 ? 配置: <action-mappings> <action path="/toLogin" type="org.apache.struts.actions.ForwardAction" forward="/login.jsp">? ? </action> </action-mappings> ? forward屬性值為要跳轉的頁面。2.incluedeAction :用于包含頁面。 ? Jsp :<jsp:include page="includeWelcome.do"></jsp:include> ??配置: <action-mappings> <action path="/includeWelcome" type="org.apache.struts.actions.IncludeAction" parameter="/welcome.jsp"> ?</action> </action-mappings>
3.DispatchAction :用于一個類中實現一組相關業務(同一頁面的一個表單多個提交按鈕)。 ? 用法:編寫一個類繼承DispatchAction?,但切記不能重寫DispatchAction?的execute()方法。業 ? ? ? ? 務方法的返回值類型,傳遞的參數類型以及個數與execute()方法一致。 ? 缺陷:要用到js代碼,如果js被禁用,則不能實現相關業務。 ? jsp頁面: <form action="train.do" method="post"> ?<input type="hidden" name="training"> ??<input type="submit" value="喂食" name="eatbtn" οnclick="training.value="eat'"/> ??<input type="submit" value="講故事" name="talkbtn" οnclick="training.value="talk'"/> ??<input type="submit" value="游戲" name="playbtn" οnclick="training.value="play'"/> </form> ? 點擊按鈕之后,隱藏表單提交項的value值必須與DispatchAction中的業務方法的方法名保持一致。 ? 配置: <action path="/train" type="com.lovo.struts.action.PetDispatchAction" parameter="training"> ? <forward name="petInfo" path="/petInfo.jsp"></forward> ? </action>
4.MappingDispatchAction :用于多個表單一個Action處理(分開的頁面,處理一個業務)。 ???用法:編寫一個類繼承MappingDispatchAction??,但切記不能重寫 MappingDispatchAction?的execute()方法。業務方法的返回值類型,傳遞的參數類型以及個數與execute()方法一致。 ? Jsp: <form method="post" action="add.do" name="addForm"> <input type="submit" value="add" name="addBtn"> ?</form>
<form method="post" action="del.do" name="delForm">? ? ? ??<input type="submit" value="del" name="delBtn">? ? ? ? ? </form> ?配置: <action path="/add" type="com.lovo.struts.action.MyMappingDispatchAction" parameter="addStu"> ?</action>
<action path="/del" type="com.lovo.struts.action.MyMappingDispatchAction" parameter="delStu">? ?</action> parameter屬性的屬性值與必須與 MappingDispatchAction中的業務方法的方法名保持一致。
5.LookupDispatchAction :?用于一個類中實現一組相關業務(同一頁面的一個表單多個提交按鈕)。 ???用法:編寫一個類繼承MappingDispatchAction??,但切記不能重寫LookupDispatchAction?的execute()方法。業務方法的返回值類型,傳遞的參數類型以及個數與execute()方法一致。重寫getKeyMethodMap()方法.必須配置一個form-bean. ? ? ? ?jsp頁面: <html:form action="train.do" method="post"> <input type="hidden" value= <%= id %> name="petId"> <html:submit property="playBtn"> <bean:message key="button.eat"/> </html:submit> <html:submit property="playBtn"> <bean:message key="button.talk"/> </html:submit> <html:submit property="playBtn"> <bean:message key="button.play"/> </html:submit> </html:form> ?在使用LookupDispatchAction時,jsp頁面要用到struts的html標簽庫和bean標簽庫.以及 ? ?propperties配置文件.html標簽的property的值必須一致.html標簽的key的值對應propperties中的值.
?配置: <form-bean name="lookup" type="org.apache.struts.action.DynaActionForm"></form-bean>
<action path="/train" type="com.lovo.struts.action.PetLookupDispatchAction" ? ??name="lookup" parameter="playBtn">? ?<forward name="petInfo" path="/petInfo.jsp"></forward>? ?</action>
?parameter屬性的值必須與html標簽的property的值一致.
6.SwitchAction:用于多個配置文件之間的頁面跳轉. ? ?XML中的配置: <init-param>? ? <param-name>config/t87</param-name>? ? <param-value>/WEB-INF/struts-moduleA.xml</param-value>? </init-param>
? ?struts-config.xml中的配置: <action path="/toT87" type="org.apache.struts.actions.SwitchAction"> 超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生
總結
以上是生活随笔為你收集整理的Struts1之Action小结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Struts2和Struts1.x的全面
- 下一篇: concurrent: Callable