首頁 > 娛樂
Struts2框架(三):一個Action內包含多個請求處理方法的處理
由 予象科技 發表于 娛樂2023-01-17
簡介獲取ActionContext例項,透過它來訪問Servlet APIActionContext context = ActionContext
struts2是什麼
一個Action內包含多個請求處理方法的處理
Struts1提供了DispatchAction,從而允許一個Action內包含多個請求處理方法。Struts2也提供了類似的功能。處理方式主要有以下三種方式:
一、 動態方法呼叫:
DMI:Dynamic Method Invocation 動態方法呼叫。
動態方法呼叫是指:
表單元素的action不直接等於某個Action的名字,而是以如下形式來指定對應的動作名:
regist。jsp
<%@ page language=“java” pageEncoding=“UTF-8”%>
使用者註冊
4。 執行結果:
二、 為Action配置method屬性:
將Action類中的每一個處理方法都定義成一個邏輯Action方法。
<!DOCTYPE struts PUBLIC
“-//Apache Software Foundation//DTD Struts Configuration 2。0//EN”
“http://struts。apache。org/dtds/struts-2。0。dtd”>
如上,把LoginAction中的login和regist方法都配置成邏輯Action。要呼叫login方法,則相應的把index。jsp中表單元素的action設定為“manage/userLogin。action”;要呼叫regist方法,把regist。jsp中表單元素的action設定為“manage/userRegist。action”。
三、 使用萬用字元對映(wildcard mappings)方式:
在struts。xml檔案中配置
當我們使用萬用字元定義Action的name屬性時,相當於用一個元素action定義了多個邏輯Action:
class=“org。qiujy。web。struts2。action。UserAction” method=“{1}”>
如上,
同時method屬性值為一個表示式{1},表示它的值是name屬性值中第一個*的值。
例如:使用者請求URL為user_login。action時,將呼叫到UserAction類的login方法;使用者請求URL為user_regist。action時,將呼叫到UserAction類的regist方法。