Struts2教程之三Action訪問方式

feri發表於2018-07-04

Action可以進行三種形式的方式,分別為一下幾種:
Action類:

/**
 *@Author feri
 *@Date Created in 2018/7/4 10:23
 * 演示Action訪問方式
 */
public class VisiteAction {
    public String userAdd(){
        System.out.println("新增");
        return "ok";
    }
    public String userUpdate(){
        System.out.println("修改");
        return "ok";
    }
    public String userDelete(){
        System.out.println("刪除");
        return "ok";
    } public String userQuery(){
        System.out.println("查詢");
        return "ok";
    }
}

第一種:全稱訪問

 <!--訪問方式-->
    <package name="visitepg" namespace="/" extends="struts-default">

        <action name="useradd" class="com.qfedu.web.action.VisiteAction" method="userAdd">
            <result name="ok">/index.jsp</result>
        </action>
        </package>

第二種:*

 <!--訪問方式-->
    <package name="visitepg" namespace="/" extends="struts-default">
        <!--如果存在模糊訪問(使用*或者動態方法)必須配置允許-->
        <global-allowed-methods>regex:.*</global-allowed-methods>

       <action name="*" class="com.qfedu.web.action.VisiteAction" method="{1}">
            <result name="ok">/index.jsp</result>
            <allowed-methods>regex:.*</allowed-methods>
        </action>
        </package>

第三種:動態方法

 <!--使用動態方法 預設為false-->
    <constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
 <package name="visitepg" namespace="/" extends="struts-default">
        <!--如果存在模糊訪問(使用*或者動態方法)必須配置允許-->
        <global-allowed-methods>regex:.*</global-allowed-methods>
<action name="u" class="com.qfedu.web.action.VisiteAction">
            <result name="ok">/index.jsp</result>
        </action>
      </package>

總結:
1、如果使用模糊匹配(* _ 動態方法)
在2.5之後,必須設定允許訪問
設定方式:2種 任意選擇
1、在設定 包下的所有的Action都可以使用模糊匹配

regex:.*
2、在設定 只是針對當前的Action
regex:.*
2、使用動態方法必須開啟動態方法

相關文章