Struts2通配符映射的各种情况详情

Struts框架也是我们经常用到的框架,但是我们是否非常熟悉Action的通配符映射呢,让我们了解一下

  • 第一种也是我们新手经常用到的,但是这种有非常大的局限性,只能用于execute方法的配置,代码如下:
/**
 * url:http://localhost:8088/项目名称/helloWorldAction.action
 */
<package name="helloworld" namespace="/" extends="struts-default">
        <action name="helloWorldAction" class="cn.itcast.sh08.struts2.action.HelloWorldAction">
            <result name="index">index.jsp</result>
        </action>
</package>

 第二种就是每个方法匹配一次,确实比第一种好,但是还是比较麻烦的,比如一个Action中有多种方法,需要匹配多个Action

/**
 * url:http://localhost:8088/项目名称/user1.action
 */
<package name="struts2Demo" namespace="/" extends="struts-default">
    <action name="user1" class="com.example.action.UserAction" method="addUser">
        <result name="add">/addUser.jsp</result>
    </action>
    <action name="user2" class="com.example.action.UserAction">
        <result name="delete">/deleteUser.jsp</result>
    </action>
</package>
  •  第三种方法就是动态调用,也叫!调用,在调用之前设置一个全局变量<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
/**
 * url:http://localhost:8088/项目名称/user!delete.action
 */
<action name="user" class="com.example.action.UserAction">
    <result name="welcome">/welcomeUser.jsp</result>
    <result name="delete">/deleteUser.jsp</result>
    <result name="add">/addUser.jsp</result>
    <result name="update">/updateUser.jsp</result>
</action>
  •  第四中也是通配符调用,一般都用这种方法
    /**
     * url:http://localhost:8088/项目名称/user!deleteUser.action
     */
    <action name="user_*" class="com.example.action.UserAction" method="{1}">
        <result name="welcome">/welcomeUser.jsp</result>
        <result name="delete">/deleteUser.jsp</result>
        <result name="add">/addUser.jsp</result>
        <result name="update">/updateUser.jsp</result>
    </action>

     

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值