关于Struts2通配符的问题

gzhli2008 2012-07-07 10:21:41
这里是XML文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />


<package name="struts2" namespace="/" extends="struts-default">

<action name="*_*" class="com.action.{1}Action" method="{2}">
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>

<action name="*">
<result>/{1}.jsp</result>
</action>

</package>
</struts>

这里是我的jsp文件:
    
<a href="login.action" >登录</a>
<a href="regiest" >注册</a>

第二个action 要想正常用的话 就得把第一个action删掉。第一个也可以正常执行。
难道是说一个里面不能有两个通配符?

...全文
101 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
AlexChowKey 2012-07-07
  • 打赏
  • 举报
回复
配一个*_*就可以了,不要再下面那个了,把result放在同一个action中
licip 2012-07-07
  • 打赏
  • 举报
回复
你要注意顺序,一般来说,团队开发,除非先规定好,要不然,一般不匹配。
宏Lee 2012-07-07
  • 打赏
  • 举报
回复
但是你的login.action和regiest都是只能匹配*;你的写法也有问题,要的都不加.action,配置文件中就写*要么都加.action配置文件中就*_*.action,*.action,你的写法太不规范,还有就是通配符的使用少来点*_*,*这样写起来太不明白作用了,比如你的user的操作,你完全可以写成user_* method={1};这个*里面就是register,login等等,这样才知道你的action大概做什么的,不要为了方便,少了规范,规范很重要的
gzhli2008 2012-07-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
你去了解看看通配符的先后顺序,你就知道为啥我要这样问你
[/Quote]
如果是* 这个写到上面 那下面的所有的action都不起作用了啊
宏Lee 2012-07-07
  • 打赏
  • 举报
回复
你去了解看看通配符的先后顺序,你就知道为啥我要这样问你
gzhli2008 2012-07-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
你这样写匹配*去了
[/Quote]
不是啊 *_*是为了匹配别的页面的请求啊!
gzhli2008 2012-07-07
  • 打赏
  • 举报
回复
*-*是匹配别的jsp页面的请求的啊!
宏Lee 2012-07-07
  • 打赏
  • 举报
回复
你这样写匹配*去了
宏Lee 2012-07-07
  • 打赏
  • 举报
回复
*_*匹配的啥? 没看出来你想咋个匹配

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧