关于struts2的Action问题

JSP的代码如下:<s:formaction="login.action"method="post"><s:textfieldlabel="用户名"name="userN... JSP的代码如下:
<s:form action="login.action" method="post">
<s:textfield label="用户名" name = "userName" />
<s:password label="密码" name="password" />
<s:submit value="登录"></s:submit>
</s:form>

xml文件配置如下:
<package name="login" extends="struts-default">
<action
name="login"
class="LoginAction"
>
<result name="success">/index.jsp</result>
<result name="false">/login.jsp</result>
<result name="register_false">/regerror.jsp</result>
</action>
</package>
虽然我什么都没有问,但是 jebe7282同志还是明白了我的意思。但我用你的方法试过了,还是找不到这个action。zxsz4085同学,LoginAction里面有execute()方法。class="LoginAction"也没写错,因为是用Spring注入进去的,所以只写了个Id。因为我的这个action是在项目根目录下的,在页面和Struts2.mxl中都没有指定namespace,总是提示there is not action **** defined in namespace '',我怀疑是不是与没有指定namespace有关?请高手赐教。
而且如jebe7282同志所说,我在JSP中去掉.action后,生成的HTML里面仍然带有.action,不知是何缘故。也请赐教。

继续补充,回zxsz4085友:启动服务时,log4j出现提示,运行login.action时报错。我用的是core2.1.6。应该没有关系吧。此版本似乎稳定性还可以。
展开
 我来答
jebe7282
2009-08-09 · TA获得超过190个赞
知道答主
回答量:95
采纳率:0%
帮助的人:0
展开全部
很显然.
<s:form action="login.action" method="post">//去掉login后面的.action即可.
struts2 标签会自动加上这个action.不用自已加 。。

那注意下struts.xml 放错地方没有。和struts1.x 不同。要
放到 classes 文件夹下
也就是 src 的根目录下。。

楼主绝对是把struts.xml 文件放错位置了。
我前天也遇到这情况。通过上面的方法解决。
小爬爬001
2009-08-06 · TA获得超过1346个赞
知道小有建树答主
回答量:1200
采纳率:0%
帮助的人:630万
展开全部
难道你问为什么登不进去?是不是你的class="LoginAction"写错了,没有包吗?要么 LoginAction里没有execute方法? \
控制台报错吗?我记得用core 2.1.6和xwork 2.1.2 报错
就一个登陆,不应该报错,你换个版本的。换了没事了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
NET_xuezhe
2009-08-17
知道答主
回答量:35
采纳率:0%
帮助的人:9.4万
展开全部
加一个死路径试试,是不是路径出问题了,<%=request.getContextPath()%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式