首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

,Struts2的ActionError总显示累计的所有异常信息,如何显示只有一条呢

2014-01-12 
在线等,Struts2的ActionError总显示累计的所有错误信息,怎么显示只有一条呢代码如下:Action配置!-- 用户

在线等,Struts2的ActionError总显示累计的所有错误信息,怎么显示只有一条呢
代码如下:
Action配置
<!-- 用户登录 -->
        <action name="loginAction" class="userAction" method="login">
        <interceptor-ref name="defStack" />
        <result name="success">/index.jsp</result>
        <result name="input">/login.jsp</result>
        </action>

页面显示代码
<span id="meserror" style="color:red"><s:actionerror/></span>
登陆方法代码
/**
 * 管理员登录
 * @return
 * @throws Exception
 */
public String login() throws Exception {
User user = userService.getUserByName(name);
if (user != null && !user.equals("")) {
if(pass.equals(user.getPass())){
if(user.getIsSystemDefault().equals(SnConstrants.ISSYSTEMDEFAULT_TRUE)){ //是否为系统内部管理员,加载对应权限

}else if(user.getIsSystemDefault().equals(SnConstrants.ISSYSTEMDEFAULT_FALSE)){//是否为客户管理员,加载对应权限

}
}else{
addActionError("密码错误,请重新输入!");
}
}else{
addActionError("用户名不存在,请重新输入!");
}
return "input";
}

测试的时候,<s:actionerror/>标签会把所有累计的错误信息显示出来,而不是一条,如下是测试了多次的显示结果:

密码错误,请重新输入! 
密码错误,请重新输入! 
密码错误,请重新输入! 
密码错误,请重新输入! 
密码错误,请重新输入! 
[解决办法]
每次调用 addActionError(msg);之前先调用 clearActionErrors();

热点排行