ring09h
ring09h
2010-03-22 20:30
浏览 209
已采纳

Struts2+json-plugin+jQuery的业务异常显示解决方案

在我的项目中使用了Struts2+json-plugin+jQuery的方式进行Ajax通讯,但是对于自定义异常的显示没有什么好的解决方式。
$.ajax({
type:"post",
url:"xxxaction!deleteXXX",
dataType:"text",
data: {
   treeNodeIdList : chkrows
},
success: function(e) {
   alert("删除数据成功");
},
error:function(xmlhttp,textStatus, errorThrown) {
   alert("删除数据失败:" + 这里是自定义异常信息);
}
});

xxxaction的deleteXXX方法
public String deleteXXX() throws Exception {
    logger.debug("删除XXXID为:" + XXX)
    throw new BusinessException("不能删除");
    return "success";
}
配置文件就是正常的
<action name="XXXAction" class="XXX"> 
    <result type="json"></result>  
</action> 

现在情况是如果在Tomcat下那么返回的是一段HTML,也就是我们经常看到的Tomcat报错的那个页面。
如果在Struts2中进行异常处理,设置一个比如global-exception进行处理,那么返回的就是Struts2的异常处理页面HTML。并且这个时候Ajax调用是成功的方法,不调用error方法,我想问问大家,你们的项目中遇到这个问题是怎么处理的?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • wanghaolovezlq
    wanghaolovezlq 2010-03-22 20:50
    已采纳

    json插件也只提供

    状态和错误代码
    使用 的StatusCode 设置响应的状态:


    304

    和 错误代码 发送错误(服务器可能最终发送到客户端的东西而不是序列的JSON):


    404

    点赞 评论
  • wanghaolovezlq
    wanghaolovezlq 2010-03-22 20:50

    要么你是捕获异常,返回一个"error"指定的页面,不过页面里你可以写json格式的数据嘛

    点赞 评论

相关推荐