struts2的通配符使用以及路径问题浅析
2014-02-27 21:38
549 查看
相信大家一定学习过国际化,熟悉国际化的同学们可能都知道占位符。那么在struts2中,也有类似这种的体现,那就是通配符。下面就来看看它的使用吧~
使用通配符定义action
源代码
补充:
要访问other()方法,可以通过这样的URL访问:http://localhost:8080/(项目名)/test/helloworld_other.action
其他:
使用通配符,将配置量降到最低
不过,一定要遵守"约定优于配置"的原则
其中第一个“*”映射到具体的某个action类,第二个“*”映射到该类的方法。不过这里要注意的name=“*/*”,在为action取名时,默认情况下在名字中是不允许出现斜杠(/)的。如果想在名字中使用斜杠(/),就需要在struts.xml文件中通过指定:
来打开这个功能。其实这样做还挺麻烦的,只要把action的name写成“*_*”就不存在斜杠问题了:
如:
Struts2中的路径问题是根据action的路径而不是jsp路径来确定,所以尽量不要使用相对路径。
虽然可以用redirect方式解决,但redirect方式并非必要。
解决办法非常简单,统一使用绝对路径。(在jsp中用request.getContextPath()方式来拿到webapp的路径)
或者指定basePath
使用通配符定义action
源代码
<package name="itcast" namespace="/test" extends="struts-default"> <action name="helloworld_*" class="cn.itcast.action.HelloWorldAction" method="{1}"> <result name="success">/WEB-INF/page/hello.jsp</result> </action> </package>
<package name="itcast" namespace="/test" extends="struts-default"> <action name="helloworld_*" class="cn.itcast.action.HelloWorldAction" method="{1}"> <result name="success">/WEB-INF/page/hello.jsp</result> </action> </package> public class HelloWorldAction{ private String message; .... public String execute() throws Exception{ this.message = "我的第一个struts2应用"; return "success"; } public String other() throws Exception{ this.message = "第二个方法"; return "success"; } }
补充:
要访问other()方法,可以通过这样的URL访问:http://localhost:8080/(项目名)/test/helloworld_other.action
其他:
使用通配符,将配置量降到最低
不过,一定要遵守"约定优于配置"的原则
<action name=“*” class=“com.ambow.struts2.action.{1}Action” method=“add”></action>
同时,struts2还支持*/*的配置模式,在配置文件中<struts>节点下配置如下:
<constant name="struts.enable.SlashesInActionNames" value="true"></constant>则以上配置可改写为:
<action name=“*/*” class=“com.ambow.struts2.action.{1}Action” method=“{2}”></action>
其中第一个“*”映射到具体的某个action类,第二个“*”映射到该类的方法。不过这里要注意的name=“*/*”,在为action取名时,默认情况下在名字中是不允许出现斜杠(/)的。如果想在名字中使用斜杠(/),就需要在struts.xml文件中通过指定:
<constant name=“struts.enable.SlashesInActionNames” value=“true” />
来打开这个功能。其实这样做还挺麻烦的,只要把action的name写成“*_*”就不存在斜杠问题了:
如:
<action name=“*_*” class=“com.ambow.struts2.action.{1}Action” method=“{2}”></action>Struts2中的路径问题
Struts2中的路径问题是根据action的路径而不是jsp路径来确定,所以尽量不要使用相对路径。
虽然可以用redirect方式解决,但redirect方式并非必要。
解决办法非常简单,统一使用绝对路径。(在jsp中用request.getContextPath()方式来拿到webapp的路径)
或者指定basePath
相关文章推荐
- Struts2一个Action内包含多个请求处理方法的处理,method的使用方法,struts2中的路径问题,通配符映射
- Struts2一个Action内包含多个请求处理方法的处理,method的使用方法,struts2中的路径问题,通配符映射 (
- Struts2一个Action内包含多个请求处理方法的处理,method的使用方法,struts2中的路径问题,通配符映射
- Struts2一个Action内包含多个请求处理方法的处理,method的使用方法,struts2中的路径问题,通配符映射
- struts2使用action跳转后的页面路径如果是相对路径的话会出现css、js以及图片等无法加载问题
- Struts2一个Action内包含多个请求处理方法的处理,method的使用方法,struts2中的路径问题,通配符映射
- struts2中action的路径问题以及在MyEclipse8.5中的说明(通配符等等)
- 了解:Ext中iconCls配置、使用以及路径问题
- Struts2的访问路径三:使用通配符配置访问路径二
- java 浅析跨域问题以及如何使用Cors解决前后端分离部署项目所遇到的跨域问题
- Struts2的访问路径二:使用通配符配置访问路径一
- struts2开发action 的三种方法以及通配符、路径匹配原则、常量
- Struts2中使用OGNL表达式语言访问静态方法和静态属性以及我遇到的问题和解决方法
- 关于SpringMVC4使用过程中的路径问题,我们经常遇到的Controller未执行以及执行了之后出现404
- [置顶] 网页中使用pdf.js展示pdf文件,全屏问题以及绝对路径如何读取
- 关于使用struts2时子窗体页面跳转后在父窗体打开的问题以及Session过期后的页面跳转问题
- struts2 uploadify配合使用,以及处理session丢失问题
- 百度富文本ueditor使用 以及 与 Struts2 整合时出现的问题解决
- Struts2-Action-4-系列问题(路径、调用Action的自定义方法、通配符)
- 关于 在struts2里 使用 通配符的问题!it's necessary for web!