Struts2通配符的问题
比如我页面一个form请求的action=“Login”struts.xml配置如下:<actionname="Login_*"method={1}class="xx.x...
比如我页面一个form请求的action=“Login”
struts.xml配置如下:
<action name="Login_*" method={1} class="xx.xx.A">
<result/>
</action>
<action name="*" class="xx.xx.B">
<result>{1}.jsp</result>
</action>
现在的问题是我form提交时候,我觉得url应该匹配最后一个action,可是提交后确实匹配的Login_*,不知道为什么,然后我把2个action顺序换了一下,匹配的是*,莫非form请求的action=“Login”既能匹配Login_*也能匹配*?我觉得这不科学啊 展开
struts.xml配置如下:
<action name="Login_*" method={1} class="xx.xx.A">
<result/>
</action>
<action name="*" class="xx.xx.B">
<result>{1}.jsp</result>
</action>
现在的问题是我form提交时候,我觉得url应该匹配最后一个action,可是提交后确实匹配的Login_*,不知道为什么,然后我把2个action顺序换了一下,匹配的是*,莫非form请求的action=“Login”既能匹配Login_*也能匹配*?我觉得这不科学啊 展开
1个回答
展开全部
集合struts来说*为通配,因此在配置时根据先后顺序进行返回,
因此配置时也不建议这样配置
也就是要分开了
比如:修改第二个配置
<action name="*_*" class="xx.xx.B" method="{1}">
<result>{1}.jsp</result>
</action>
希望回答能够帮助你
因此配置时也不建议这样配置
也就是要分开了
比如:修改第二个配置
<action name="*_*" class="xx.xx.B" method="{1}">
<result>{1}.jsp</result>
</action>
希望回答能够帮助你
更多追问追答
追问
恩,谢谢,我重点想搞清楚的是为什么url为Login会匹配到Login_*
追答
不太清楚你jsp页面上是怎么配置action的
比如我这里配置的话是这样的
login_login.action
这样的话就能匹配过去,如果在action中只配置了login的话,
那就要看你中是怎么配置的
或者说你两个配置写法都是在一个package中
一般这两种写法是需要分package进行配置的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询