Sttruts2之路径请求

7 篇文章 0 订阅
6 篇文章 0 订阅
struts2给我们提供了一个struts.xml核心配置文件来匹配我们的请求路径

匹配路径:http://localhost:8080/请求
<package name="struts2" extends="struts-default" namespace="/">
  <action name="请求"   class="控制器类"  method="默认execute()">
  <result name="">页面</result>  
  </action>
</package>
 
 匹配路径:http://localhost:8080/user/请求
<package name="struts3" extends="struts-default" namespace="/user">
 <action name="请求"   class="控制器类"  method="默认execute()">
  <result name="">页面</result>  
  </action>
</package> 
说明:
1.struts.xml中可以有多个package,但必须保证不同的package的name和namespace是不同的
2.namespace的含义 可以理解为一个模块 在请求路径中 要访问对应的action 必须要加上namespace 主要目的是用来区分不同包下面同名的action
3.action对应method属性可以不指定  默认跳转到控制器类中execute方法
4.result的type属性可以不指定 默认为dispatcher dispatcher为转发类型


1.动态方法调用 一个action去处理多个请求 动态方法调用可以不用设置action的method方法
默认这个配置是关着的
<!--动态方法调用-->
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
<package name="struts2" extends="struts-default" namespace="/">
  <action name="请求"   class="控制器类">
  <result name="">页面</result>  
  </action>
</package>
匹配的路径为:http://localhost:8080/请求!methodName


2.通配符匹配
约定大于技术  只需要配置一个action就可以了 默认的通配符为_
<package name="struts2" extends="struts-default" namespace="/">
    <action name="*_*" class="com.oracle.action.{1}Action" method="{2}">
        <result name="{2}">/{1}/{2}.jsp</result>
    </action>
</package>

匹配的路径为: http://localhost:8080/User_add


3.如果是想要使用/的方式  需要在动态方法调用配置的基础上添加 SlashesInActionNames配置
<!--将请求路径设置为restful的方式-->
 <constant name="struts.enable.SlashesInActionNames" value="true"></constant>
<package name="struts2" extends="struts-default" namespace="/">
    <action name="*/*" class="com.oracle.action.{1}Action" method="{2}">
        <result name="{2}">/{1}/{2}.jsp</result>
    </action>
</package>

匹配的路径为: http://localhost:8080/User/add 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值