Struts2学习遇到的一个小问题

hqq1007 2015-12-03 11:03:35
最近在学习strut2,在做一个小例子的时候遇到这样的问题,一直没办法解决,麻烦各路大神帮小弟找出问题的原因
先上代码:
strut.xml:

<constant name="struts.devMode" value="true" />
<package name="package2" namespace="/user2" extends="struts-default">

<interceptors>
<interceptor name="checkLogin" class="com.hhg.interceptor.CheckLoginInterceptor"></interceptor>
<interceptor-stack name="checkLoginInterceptor">
<interceptor-ref name="checkLogin"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
</interceptors>

<default-interceptor-ref name="checkLoginInterceptor"></default-interceptor-ref>

<global-results>
<result name="error">/jsp/Error.jsp</result>
</global-results>

<action name="login" class="com.hhg.action.LoginAction">
<interceptor-ref name="defaultStack"></interceptor-ref>
<result name="success">/jsp/Login2.jsp</result>
</action>

<action name="score" class="com.hhg.action.ScoreAction" method="{*}">
<result name="success">/jsp/Interceptor_Success.jsp</result>
</action>
</package>

Login.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>首页</title>
</head>
<body>
<form name="userlogin" action="<%=request.getContextPath()%>/user2/login" method="post">
username : <input name="username" type="text"/>
password : <input name="password" type="password"/>
<input type="submit" value="submit"/>
</form>

<a href="<%=request.getContextPath()%>/user2/score!add">增加</a>
<a href="<%=request.getContextPath()%>/user2/score!delete">删除</a>
<a href="<%=request.getContextPath()%>/user2/score!update">修改</a>
<a href="<%=request.getContextPath()%>/user2/score!search">查看</a>
</body>
</html>


ScoreAction.java

import com.opensymphony.xwork2.ActionSupport;

public class ScoreAction extends ActionSupport{

public String add() {
System.out.println("ScoreAction的add方法");
return SUCCESS;
}
public String delete() {
System.out.println("ScoreAction的delete方法");
return SUCCESS;
}
public String update() {
System.out.println("ScoreAction的update方法");
return SUCCESS;
}
public String search() {
System.out.println("ScoreAction的search方法");
return SUCCESS;
}
}

先不考虑拦截器,在点击jsp页面中的增加/删除/修改/查看时,报错如下:
There is no Action mapped for namespace [/user2] and action name [score!add] associated with context path [/MyStruts2]

看了代码没找出问题所在,麻烦帮忙解答一下,谢谢
...全文
100 6 点赞 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hqq1007 2015-12-03
上面的代码有点错误,应该是

<action name="score" class="com.hhg.action.ScoreAction" method="{*}">
            <result name="success">/jsp/Interceptor_Success.jsp</result>
 </action>
  • 打赏
  • 举报
回复
hqq1007 2015-12-03
引用 4 楼 yiguanyagao 的回复:
通配符代表是你method中的第几个方法,比如: <action name="score!*!*" class="com.hhg.action.ScoreAction" method="{2}"> <result name="success">/jsp/Interceptor_Success.jsp</result> </action>
<action name="*_*!*" class="com.hhg.action.{1}Action" method="{2}"> <result name="success">/jsp/{1}_Success.jsp</result> </action> 这样的用法我清楚。 只是今天在学习的时候看到了这种

<action name="score*" class="com.hhg.action.ScoreAction" method="{*}">
            <result name="success">/jsp/Interceptor_Success.jsp</result>
 </action>
然后就自己测试了下,但是一直不成功,但是视频中是可以正确运行的。 所以就很疑惑,想知道自己哪不对了
  • 打赏
  • 举报
回复
yiguanyagao 2015-12-03
通配符代表是你method中的第几个方法,比如: <action name="score!*!*" class="com.hhg.action.ScoreAction" method="{2}"> <result name="success">/jsp/Interceptor_Success.jsp</result> </action>
  • 打赏
  • 举报
回复
hqq1007 2015-12-03
引用 2 楼 yiguanyagao 的回复:
<action name="score!*" class="com.hhg.action.ScoreAction" method="{1}"> <result name="success">/jsp/Interceptor_Success.jsp</result> </action> 把配置里面最后一个aaction换成这个试一试
这样就可以了 但是这是为什么,通配符*号怎么就用不了呢。可以解释一下吗
  • 打赏
  • 举报
回复
yiguanyagao 2015-12-03
<action name="score!*" class="com.hhg.action.ScoreAction" method="{1}"> <result name="success">/jsp/Interceptor_Success.jsp</result> </action> 把配置里面最后一个aaction换成这个试一试
  • 打赏
  • 举报
回复
hqq1007 2015-12-03
没有人吗
  • 打赏
  • 举报
回复
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2015-12-03 11:03
社区公告
暂无公告