struts2为什么找不到action啊
先简单介绍一下情况,一个简单的输入用户名和密码的界面,输入后会查询后台数据库中用户名和密码是不是都为admin,是则返回一个界面,不是则返回原登陆界面,下面是代码:(只写...
先简单介绍一下情况,一个简单的输入用户名和密码的界面,输入后会查询后台数据库中用户名和密码是不是都为admin,是则返回一个界面,不是则返回原登陆界面,下面是代码:(只写重要部分了)
登陆界面:
<form action="login.action" method="post">
<table align="center" border=1>
“具体的界面布局就不写了”
</table>
</form>
strut.xml文件中加入了映射 <include file="../config/user/struts_user.xml" />
而struts_user.xml文件代码为:
<package name="user" extends="common" >
<action name="login" class="com.neusoft.um.user.action.UserAction" method="login">
<result name="input">/UM/login.jsp</result>
<result name="success">/UM/user/userManage.jsp</result>
</action>
</package>
在UserAction中就执行相应的方法了,
可是我在点提交 按钮的时候 给我显示的页面时404 提示的错误信息是
There is no Action mapped for namespace / and action name login.
我不明白 自己哪块 连错了啊,为什么它就是找不到action呢?求解脱 展开
登陆界面:
<form action="login.action" method="post">
<table align="center" border=1>
“具体的界面布局就不写了”
</table>
</form>
strut.xml文件中加入了映射 <include file="../config/user/struts_user.xml" />
而struts_user.xml文件代码为:
<package name="user" extends="common" >
<action name="login" class="com.neusoft.um.user.action.UserAction" method="login">
<result name="input">/UM/login.jsp</result>
<result name="success">/UM/user/userManage.jsp</result>
</action>
</package>
在UserAction中就执行相应的方法了,
可是我在点提交 按钮的时候 给我显示的页面时404 提示的错误信息是
There is no Action mapped for namespace / and action name login.
我不明白 自己哪块 连错了啊,为什么它就是找不到action呢?求解脱 展开
4个回答
展开全部
以下是基本的代码格式!
<?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>
<package name="default" namespace="/" extends="struts-default"> <action name="login" class="com.gsww.kingreturns.struts2.excise.LoginAction" method="execute"> <result name="success">/welcome.jsp</result> <result name="login">/login.jsp</result> </action> </package>
</struts>
主要属性说明:package-name:用于区别不同的package;必须是唯一的、可用的变量名;用于其它package来继承;
package--namespace:用于减少重复代码(和struts1比较);是调用action时输入路径的组成部分;
package--extends:用于继承其它package以使用里面的过滤器等东东;
action--name:用于在一个package里区别不同的action;必须是唯一的、可用的变量名;是调用action时输入路径的组成部分;
action--class:action所在的路径(包名+类名);
action--method:action所调用的方法名;
特别注意。在写result视图的时候,有这样两种写法:/WEB-INF/Hello.jsp和WEB-INF/Hello.jsp
<?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>
<package name="default" namespace="/" extends="struts-default"> <action name="login" class="com.gsww.kingreturns.struts2.excise.LoginAction" method="execute"> <result name="success">/welcome.jsp</result> <result name="login">/login.jsp</result> </action> </package>
</struts>
主要属性说明:package-name:用于区别不同的package;必须是唯一的、可用的变量名;用于其它package来继承;
package--namespace:用于减少重复代码(和struts1比较);是调用action时输入路径的组成部分;
package--extends:用于继承其它package以使用里面的过滤器等东东;
action--name:用于在一个package里区别不同的action;必须是唯一的、可用的变量名;是调用action时输入路径的组成部分;
action--class:action所在的路径(包名+类名);
action--method:action所调用的方法名;
特别注意。在写result视图的时候,有这样两种写法:/WEB-INF/Hello.jsp和WEB-INF/Hello.jsp
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<package>标签里面,extends属性的值是common?这个common是什么?
extends属性的值在struts的tld文件里面都规定好了,必须写成struts-default。二楼是正确的。
extends属性的值在struts的tld文件里面都规定好了,必须写成struts-default。二楼是正确的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
配置文件中package写错了,extends应该等于“Struts-default” 而不是你自己写的common
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
class路径没错?
追问
没错啊,我检查了很多回了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询