Struts2 学习之路(二):2.4 Struts2(2.5.14.1版本)中的通配符匹配问题

本文介绍Struts2框架中通配符的配置方法,包括如何在struts.xml文件中配置通配符来实现对不同方法的调用,以及如何在前端页面使用这些配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

struts.xml 配置文件中通配符的匹配
  • 可以匹配action节点中的class属性,method属性,result子节点的name属性,甚至是result子节点的路径内容
  • 因为2.5.x版本和以前的版本都不一样,所以需要特殊配置
<struts>
    <!-- 配置struts2 可以受理请求的扩展名:以.action,.do结尾或者什么都不写均可 -->
    <constant name="struts.action.extension" value="action,do,"></constant>
    <!-- 通配符的配置方法一:需要设置这个常量为true,然后再在action中单独设置 -->
    <constant name="struts.enable.DynamicMethodInvocation" value="true"/>

    <package name="actionContext" extends="struts-default" >
        <!-- 通配符的配置方法二:直接就在package里面添加允许通过通配符的方法 -->
        <!--  <global-allowed-methods>login</global-allowed-methods> -->
        <action name="userAction-*" class="cn.zc.cris.Wildcards.UserAction" method="{1}">
            <result name="{1}-success">/success.jsp</result>
            <!-- 通配符的使用方法一:上面设置完常量后,还要在action中设置允许使用通配符的方法,
                execute,input,back,cancel,browse,save,delete,list,index这些方法不需配置,即可使用  
            -->
            <allowed-methods>add,update,query</allowed-methods>
        </action>
    </package>
</struts>

前台页面:
    <a href="userAction-query">user query</a>
    <br><br>
    <a href="userAction-delete">user delete</a>
    <br><br>
    <a href="userAction-add">user add</a>
    <br><br>
    <a href="userAction-update">user update</a>

后台action:

public class UserAction {

    public String update() {
        System.out.println("update");
        return "update-success";
    }
    public String add() {
        System.out.println("add");
        return "add-success";
    }
    public String delete() {
        System.out.println("delete1");
        return "delete-success";
    }
    public String query() {
        System.out.println("query");
        return "query-success";
    }
}
获取源代码请点击我
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值