日期:2014-05-19  浏览次数:20750 次

关于使用addFieldError和<s:fielderror>显示错误的问题 。
我想把Action里面的错误信息输出到页面。
但是奇怪的是,错误虽然可以输出,
但是,只要是涉及到teamAction的页面或者链接,执行之后,全部都跳转到了INPUT视图的错误页面!
例如:

HTML code
http://localhost:8080/SportSys/team/findByUserId.action?id=61

自动就跳转到了INPUT错误页面了,Debug的时候,后台打印出了Sql语句,并没有输出异常。不知道为啥。
请问这是为什么啊?谢谢。

Action中代码如下:

Java code
public String saveTeam() throws Exception {
        try {
            this.teamService.saveTeam(team);
        } catch (Exception e) {
            e.printStackTrace();
            this.addFieldError("addError", "组别名称不允许重复!");
            System.out.println(this.getFieldErrors().get("addError"));
            return INPUT;
        }
        return SUCCESS;
    }



Struts2配置文件:
XML code
<action name="teamAddBy" class="teamAction" method="saveTeam">
            <result name="success" type="redirect">findByUserId.action</result>
            <result name="input">/web/team/addError.jsp</result>
        </action>


------解决方案--------------------
url路径有没有错啊
------解决方案--------------------
你把
return SUCCESS;
放在
this.teamService.saveTeam(team);
之后试试
------解决方案--------------------
我也经常碰到这样的问题,
后来是使用多个result 才解决的。,
就是出现一个错误,就返回一个视图

其实 这是Struts2的声明式异常处理!