当namespace="/login"时,
子路目中:有“login/” no action mapped for
无“login/” no result defined
根目录中: no result defined
no action mapped for
当namespace="/"时,
子目录中: 可跳转,无样式,URL重复发送
no result defined
根目录中: no result defined
跳转成功
结果跳转位置为“namespace+result”
struts.xml 匹配action方式:
当各目录jsp页面发送action时,系统首先在其加上所在目录 名,与namespace匹配。
namespace=“/”与不写有区别,不写则匹配所有,写等同于“/test”之类,“/”表示根目录
故当namespace=“/test” 时,根目录的action应写test/*.action,所发出的全称即"test/*.action",即可找到对应struts,但服务器会记录信息,使URL叠加,不推荐使用。
另:同子目录下发action="*.action",会自动加上对应文件名,即"test/*action",可与namespace匹配。
故总体来说,推荐使用重定向的方式,不论再哪级目录下,均返回根目录对应配置文件填写action
ex. 二级目录下,可写成"../../test/test/*action"重新定向。
在匹配过程中有时候结果返回页面会发现css全部无法加载,此为因为重定向后URL改变,对应不上原来的css加载路径,此时应应变对应尝试各种更改action的发送URL。
result 前加“/” 表返回根目录,再依具体位置写目录
通配符的使用 ex. action="jump*" result=/test{1}/test{1}Success.jsp
本文详细解析了Struts XML配置中Action匹配的过程及注意事项,包括不同目录下的匹配规则、namespace的影响、重定向方式及URL跳转问题,以及如何避免CSS加载路径冲突。
4182

被折叠的 条评论
为什么被折叠?



