struts2一点小问题

antony0203 2008-07-17 02:00:53
初接触struts2,随便下了个登陆的例子,跑起来没有问题,稍微改了点东西,就错的莫名其妙了
验证出错后一直跳转到error.jsp
在action里改了下execute方法里else return的参数,原先return ERROR,现在改为return INPUT
另外加了个validate()方法
public String execute() throws Exception
{
if ("tony".equals(username) && "tony".equals(password) )
{
ActionContext.getContext().getSession().put("user" , getUsername());
return SUCCESS;
}
else
{
this.addFieldError("username", "UserName or password is wrong!");
return INPUT;

}
}
public void validate()
{
if(username == null || username.length() > 5){
this.addFieldError("username", "UserName is required!");
}

}

struts.xml里配置,因为一直会跳转到error.jsp,我干脆<result name="error">这里也改了成login.jsp
,但是每次检验出错,还是跳转到error.jsp,不会跳回到login.jsp。
按理没有任何地方有配置error.jsp了啊,缓存也清过。
<action name="Login" class="lee.LoginAction">
<result name="error">/login.jsp</result>
<result name="success">/welcome.jsp</result>
<result name="input">/login.jsp</result>
</action>
...全文
108 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunick1984 2008-07-17
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 Landor2004 的回复:]
引用 7 楼 daybybyby 的回复:
你这个原因我也觉得奇怪,等待高人来解决,
但你配置上还有一个问题,我给你补上。
<action name="Login" class="lee.LoginAction"scope="pototype">

红色要加上,要不每次用同一个action,会有问题的


struts2管理的action每次都会创建新实例,你这个加的似乎没有意义
如果说是用spring来管理的话,是需要在spring的配置文件里加上scope="pototype"
[/Quote]

正在学习struts2,受教了!
antony0203 2008-07-17
  • 打赏
  • 举报
回复
唉,按照2楼说的改就好了,再改回去也是好的。看起来好像是缓存错误,
但是我前面IE缓存,和tomcat缓存都清过,机器重起过,都没有用。
这什么原因呢?有朋友碰到过,或者熟悉的,可以解释下吗?
zidasine 2008-07-17
  • 打赏
  • 举报
回复
关注下这种奇怪的事
胡矣 2008-07-17
  • 打赏
  • 举报
回复
很诡异
根本没看到又error.jsp的配置啊
daybybyby 2008-07-17
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 Landor2004 的回复:]
引用 7 楼 daybybyby 的回复:
你这个原因我也觉得奇怪,等待高人来解决,
但你配置上还有一个问题,我给你补上。
<action name="Login" class="lee.LoginAction"scope="pototype">

红色要加上,要不每次用同一个action,会有问题的


struts2管理的action每次都会创建新实例,你这个加的似乎没有意义
如果说是用spring来管理的话,是需要在spring的配置文件里加上scope="pototype"
[/Quote]

啊 。。。
那个不是spring里的阿。。。我看走眼了,对不起楼主了。。哈哈
Landor2004 2008-07-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 daybybyby 的回复:]
你这个原因我也觉得奇怪,等待高人来解决,
但你配置上还有一个问题,我给你补上。
<action name="Login" class="lee.LoginAction"scope="pototype">

红色要加上,要不每次用同一个action,会有问题的
[/Quote]

struts2管理的action每次都会创建新实例,你这个加的似乎没有意义
如果说是用spring来管理的话,是需要在spring的配置文件里加上scope="pototype"
daybybyby 2008-07-17
  • 打赏
  • 举报
回复
你这个原因我也觉得奇怪,等待高人来解决,
但你配置上还有一个问题,我给你补上。
<action name="Login" class="lee.LoginAction" scope="pototype">

红色要加上,要不每次用同一个action,会有问题的
antony0203 2008-07-17
  • 打赏
  • 举报
回复
恩,恩
而且按照2楼说的做,就好了
感觉很诡异
谁能跟我说说原因
Landor2004 2008-07-17
  • 打赏
  • 举报
回复
有这等事?
liona 2008-07-17
  • 打赏
  • 举报
回复
<result name="error">/login.jsp </result>
<result name="success">/welcome.jsp </result>
<result name="input">/login.jsp </result>


这几行代码总觉得很别扭
antony0203 2008-07-17
  • 打赏
  • 举报
回复
果然好了,这什么原因啊
Dragon_sxw 2008-07-17
  • 打赏
  • 举报
回复
<result name="error">/login.jsp </result>

把这句去了再跑一边试试
gameboy911 2008-07-17
  • 打赏
  • 举报
回复
竟然能坐到沙发

67,513

社区成员

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

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