当前位置:编程学习 > JAVA >>

在线求帮助!!!!

struts.xml
<action name="loginAction" class="loginAction" method="doLogin">
  <result name="l_success">/index.jsp</result>
  <result name="l_faile">/login.jsp</result>
  <result name="input">/login.jsp</result>
</action>

login.jsp

<div align="center" style="margin-top:200px">
<s:fielderror/>
<form action="loginAction.action" method="Post">
<table height="100" border="3">
<tr>
<td>用户名:</td>
<td><input type="text" name="userName"></td>
</tr>
<tr>
<td>密 码:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="登录"> <input type="button" value="注册"/></td>
</tr>
</table>
</form>
</div>
LoginAction

public String doLogin() {
return "l_success";
}

public void validateDoLogin() {
if (userName == null || userName.equals("")) {
addFieldError("user.userName","请输入用户名!");

}
if (password == null || password.equals("")) {
addFieldError("user.userPassword","请输入密码!");

}
if (userName.length() > 15 || userName.length() < 5) {
addFieldError("user.userName","用户名不能大于15或小于5个字符!");

}
if (password.length() > 20|| password.length() < 5) {
addFieldError("user.userPassword","密码不能大于20或小于5个字符!");

}

}

为什么连续点击登录总是连上一次的错误信息都从fileError中取出啊,连续点击两次,如下
  * 请输入用户名!
  * 用户名不能大于15或小于5个字符!
  * 请输入用户名!
  * 用户名不能大于15或小于5个字符!
  * 请输入密码!
  * 密码不能大于20或小于5个字符!
  * 请输入密码!
  * 密码不能大于20或小于5个字符! --------------------编程问答-------------------- 连续发了3个,真没人帮助吗? --------------------编程问答-------------------- 我照着你的搞了一个,每个验证只发一次啊

你重新部署下project试试。在重启下服务器。 --------------------编程问答-------------------- 连续点击登录按钮!!在试一试? --------------------编程问答-------------------- 点了很多次都是一个阿
你的为什么出现很多列 --------------------编程问答-------------------- 要不你把你代码传给我下?,我在我机器上跑一下?我QQ1143879729,谢谢了兄弟!! --------------------编程问答-------------------- 我代码就是复制的你 的... --------------------编程问答-------------------- 后面加return试试,每个方法基本见到return后面都不执行了
或者加:
system.out.exit(0);//非正常退出!
public void validateDoLogin() {
if (userName == null || userName.equals("")) {
addFieldError("user.userName","请输入用户名!");
return;

}
...... --------------------编程问答-------------------- 楼主,使用spring注入action默认是单例的<bean id="" class="" type="singleton"/>
这样子的话,你每次访问这个action,都是一个实例,所以addFieldError()的多次调用 将错误消息累积起来了,只需要将action的访问状态改为多例即可~·
如下:
<bean id="" class="" type="prototype"/>
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,