欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

各種Action的實用場合

不同的Action類處理不同的用戶請求,并不意味著一個Action類只能執(zhí)行一個操作。在Action類中可以聚合多個操作。基本原則是一個Action與一個業(yè)務操作相關聯(lián)。例如商品的增、刪、改、查可以放到一個Action類中實現(xiàn),而購物車功能不能和用戶注冊功能放到同一個Action類中。[@more@]Struts中預定義的Action類:
1. ForwardAction類:類似于forward>功能,在Struts中盡量避免直接調(diào)用jsp(會失去了MVC風格),當僅僅需要從一個JSP頁面到另一個JSP頁面的請求轉(zhuǎn)發(fā)操作時,并不需要一個真正的Action,F(xiàn)orwardAction類專門用于請求轉(zhuǎn)發(fā),不進行任何其他業(yè)務操作(MVC中控制器的作用),這樣做的好處是控制器可以預處理請求。
具體使用ForwardAction類只需在配置文件中聲明,無需編寫代碼:
<action
input=”/index.jsp”
name=”loginForm”
scope=”request”
validate=”false”
path=”/homepage”
type=”org.apache.struts.actions.ForwardAction”
parameter=”/shop/homepage.jsp” />
parameter屬性用于指定往哪里轉(zhuǎn)發(fā)。Path、type、parameter三個屬性為必須,其他可忽略。
2. IncludeAction類:類似于動作或Servlet中的RequestDispatcher的include()方法功能。
<action
input=”/index.jsp”
mane=”loginForm”
scope=”request”
validate=”false”
path=”/homepage”
type=”org.apache.struts.actions.IncludeAction”
parameter=”/shope/includepage.jsp” />
3. DispatchAction類:常用于在一個Action類中完成一組緊密相關的業(yè)務操作,例如增、刪、改、查,可以減少重復編程。不同于一般的Action類,創(chuàng)建一個擴展DispatchAction類的子類時,不必覆蓋execute()方法,而是創(chuàng)建一些實現(xiàn)具體業(yè)務操作的方法,這些方法和execute()方法有一樣的參數(shù)和返回值,以及聲明可能拋出的異常,例如:
Public final class UserAction extends DispatchAction{
Public ActionForward add(ActionMapping mapping,ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
Throws Exception{
If(log.isDebugEnabled())
Log.debug(“Entering ‘a(chǎn)dd’ method”);
User user = new User();
User.addRole(new Role(“admin”));
UserForm userForm = (UserForm)convert(user);
updateFormBean(mapping,request,userForm);
return mapping.findForward(“edit”);
}
public ActionForward delete(ActionMapping mapping,ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
Throws Exception{
…………….刪除用戶的代碼寫在這里。
Return mapping.findForward(“viewUsers”);
}
在配置DispatchAction類時,需要指定parameter屬性為method,例如:
<action
path=”/users”
type=”包名. UserAction”
name=”userForm”
scope=”request”
input=”/userlist.jsp”
parameter=”method”
validate=”false”
>
<forward name=”edit” path=”/WEB-INF/shop/userEdit.jsp” redirect=”false”>
<forward name=”viewUsers” path=”/WEB-INF/shop/userlist.jsp” redirect=”false”>
action>
4. LookupDispatchAction類:是DispatchAction的子類,不同之處在于DispatchAction類使用請求參數(shù)的值確定調(diào)用哪種方法,而LookupDispatchAction類利用請求參數(shù)值,反向查詢資源綁定,并將它與類中的一種方法匹配。通常用于在有多個同名提交按鈕的表單的場合。例如:
頁面代碼如下(具有相同的按鈕名稱“action”,但是每個按鈕的值都不同):
action=”/shop/cart”>
….
action”>


….
action”>


….
action”>



這里提交按鈕的名字action與配置文件中的parameter屬性值一致。假定在資源文件中已經(jīng)定義了鍵為cart.update和cart.checkou和cart.remove的消息資源。
配置文件如下:
<action
path=”/carts”
type=”包名.CartAction”
name=”userForm”
scope=”request”
input=”viewcart.jsp”
parameter=”action
validate=”false”>
<forward name=”success” path=”/shop/viewcart.jsp” redirect=”false”/>
action>
CartAction.java代碼如下:(導入java.util.Map,實現(xiàn)方法:getKeyMethodMap())
Protected Map getKeyMethodMap(){
Map map = new Map();
Map.put(“cart.update”,”updateCart”);
Map.put(“cart.checkout”,”checkout”);
Map.put(“cart.remove”,”removeCart”);
Return map;
}
然后分別實現(xiàn)updateCart、checkout、removeCart方法,每種方法的方法簽名與execute方法一致。
當CartAction被觸發(fā)時,它根據(jù)傳入按鈕的值到消息資源文件中找到相應的鍵,再由getKeyMethodMap方法返回的Map對象映射到相應的方法。
5.AwitchAction類:主要用于在不同的模塊之間切換操作,詳見Struts多模塊開發(fā)。

本文名稱:各種Action的實用場合
網(wǎng)頁鏈接:http://aaarwkj.com/article10/gpgido.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作網(wǎng)站策劃、網(wǎng)站內(nèi)鏈定制開發(fā)、微信小程序、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設
亚洲国产精品二区三区| 18禁黄网站免费视频| 欧美一区二区三区四区久久 | 国产精品日本在线观看| 日本一区欧美二区精品| 中文字幕人妻丝袜一区一三区| 尤物天堂av一区二区| 精品国产成人一区二区| 精品少妇熟女av免费久久| 在线观看国产自拍精品| 亚洲人妻乱人伦中文字幕在线| 一二三四在线观看日本资讯| 欧美久久精品在线观看| 深夜av一区二区三区| 久久香蕉国产线看观看亚洲| 国产又粗又长又猛又爽视频| 成人免费亚洲av在线| 欧美日韩一区二区激情在线| 亚洲国产精品自拍视频| 精华国产一区二区三区| 91内射视频在线播放| 国产性生活大片免费看| 特级艳片在线观看免费| 国产乱码精品一区二区三区爽爽爽 | 色偷偷亚洲精品一区二区| 中文字幕在线日韩av| 熟妇高潮一区二区在线观看| 亚洲日本一区二区高清在线| 一区二区三区中文在线播放| 欧美一区二区亚洲天堂| 丰满熟妇久久人妻同堂av| 国产九色91中文在线视频| 欧美丝袜熟女日韩亚洲| 在线亚洲av不卡一区二区三区| 国产午夜福利视频合集| 亚洲综合av婷婷激情| 久久久久久国产精品亚洲| 巨乳中文乱码国产一区二区| 国产精品久久乱码综合| 最新国产精品欧美激情| 国产精品国产三级国产av一区|