论坛首页 Java企业应用论坛

Struts2 的多后缀名 .do + .action

浏览 14010 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (2)
作者 正文
   发表时间:2012-04-19  
blackstreet 写道
urlrewrite用这个吧

其实 Struts 应该是完全支持多 后缀名 请求的吧。。 但是现在还 没有找到根源。。
0 请登录后投票
   发表时间:2012-04-19  
我也是用/*的,不过我也想知道怎样用后缀
0 请登录后投票
   发表时间:2012-04-19  
jinceon 写道
我也是用/*的,不过我也想知道怎样用后缀

用 /* 会覆盖所有的请求。。
0 请登录后投票
   发表时间:2012-04-19  
如果以上方法均不可,重新建个project,用其他版本的jar试试
0 请登录后投票
   发表时间:2012-04-19  
从你的配置上我认为没有问题,现在你应该确定一下几点:
1、首先clean下项目 并 同步一下,排除配置文件不同步的问题
2、使用×××RelativeUser.do和.action进行访问,如果没有问题,则说明是testaction的问题
3、检查是否有testAction这个Bean

4、将启动日志(debug模式) 和 访问日志 打包上传上来再分析是什么问题
0 请登录后投票
   发表时间:2012-04-19  
建议你看看,struts的执行流程,然后你就知道怎么弄了
0 请登录后投票
   发表时间:2012-04-19  
yyyhhh0123 写道
jobar 写道
在struts.properties文件里面配置
struts.action.extension=action,do

或者在struts.xml里面配
<constant name="struts.action.extension" value=",action,do" />

jobar 谢谢 你的回复。
你看我 struts.xml里的配置 已经申明了,但是 访问 .action  是不行的


上面所说的是最正确的方法了。
如果你没有配置这个信息:<constant name="struts.action.extension" value=",action,do" />
struts是不知道请求名字为xxx.action到底对应的是你struts.xml配置文件里的那个配置,所以会失败。
我自己实现过的struts的这个功能:
loginPage=com.xxx.xxx.action.AuthorizerAction,loginPage
#This can be used to set your default encoding
constant.encoding=utf-8

constant.action.extension=.action,.do,.act,.xn


虽然不能很肯定struts是如何实现后缀解析的。但是我的解析方法来说,你这种没有先配置后缀,直接在web.xml里配置是没用的。
0 请登录后投票
   发表时间:2012-04-20  
用 nginx rewrite 就行了...外部实现!!
0 请登录后投票
   发表时间:2012-04-20  
struts 2 本身已经够慢了,生存周期这么长,还多后缀.性能可想而知 , 这样的问题让前段nginx rewrite 下就解决了
0 请登录后投票
   发表时间:2012-04-20  
web.xml
<url-pattern>/*</url-pattern>

strusts.xml
<constant name="struts.action.extension" value="shtml,html"/> 
我的可以
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics