struts2处理.do后缀的请求默认情况下,struts2是无法处理以.do为后缀的请求url的(默认情况下是.action或者
struts2处理.do后缀的请求
默认情况下,struts2是无法处理以.do为后缀的请求url的(默认情况下是.action或者不填,可以参见org.apache.struts2包下的default.properties文件)。
但是struts2是一个高配置的框架,所以我们可以通过配置来处理以.do为后缀的请求。
struts2提供了一系列的常量来供我们来配置。
如:我们可以在struts.xml文件中配置
<constant name="struts.action.extension" value="do"/>
如果配置多个,可以以逗号分隔开
如:
<constant name="struts.action.extension" value="do,action"/>
使struts2能够处理以.do为后缀的url。
同时我们也可以通过资源文件的方式来配置。
可以在我们项目的类路径下创建一个struts.properties文件。
然后可以在此资源文件中加入
引用
struts.action.extension=do
struts2还提供了其他的方式来加载常量,推荐在struts.xml文件中配置。
struts2加载常量的顺序是:
引用
struts-default.xml
struts-plugin.xml
struts.xml
struts.properties
web.xml
我们可以通过启动tomcat时控制台打印的结果可以看到
引用
信息: Parsing configuration file [struts-default.xml]
2009-12-10 22:47:46 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
信息: Unable to locate configuration files of the name struts-plugin.xml, skipping
2009-12-10 22:47:46 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
信息: Parsing configuration file [struts-plugin.xml]
2009-12-10 22:47:46 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
信息: Parsing configuration file [struts.xml]
在不同的配置文件里存在相同的常量的话,后者将会覆盖前者.
1 楼 hunnuxiaobo 2010-04-17 我有一个问题想请教你。
我希望一个这样的url:http://myserver/getFile/example.rar
怎样让Struts根据'/getFile/'转向一个Action,我的意思是凡url中包含'/getFile/'就转向GetFileAction去处理?
上面的url并不是指向服务器某个路径下,也许根本不存在这个资源路径。
我希望不要使用过滤器来解析request的URL 2 楼 hunnuxiaobo 2010-04-25 我也想用Struts2的拦截器解决,但是没想出来怎么做,希望你能给我详细的解决方案。谢谢你!