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
Sttruts2之路径请求
猜你喜欢
转载自blog.csdn.net/qq_38334528/article/details/80289315
今日推荐
周排行