Ajax错误struts2?

我有我的动作课:

try{ tspNameIdMap = slsReqMgmtCommonRemote.getTspNameIdMap(Integer.parseInt(circleId)); throw new ReqMgmtException("Message test"); } catch(ReqMgmtException rEx){ addActionError("Action-Error: Request Management Exception thrown"); return ERROR; } 

我正在进行AJAX调用并使用Struts2-Json-plugin以JSON格式获取tspNameIdMap

JS:AJAX的一部分:

 success: function(data){ alert('Updated DB'); }, error: function(data){ alert(data); } 

我的struts.xml

    tspNameIdMap     

我想在我的Ajax错误函数中使用addActionError消息。 我还想在我的JSP中显示它。 我怎么能得到这个?

Ps:我是否必须在属性文件中包含此ActionError消息? 我是第一次使用它。 帮帮我

编辑 :当我跟着@Prabhakar回答我得到了错误消息,但它在AJAX调用success时返回。

另一个问题是,当我把它放在我的JSP中时, actionerror没有显示出来。

JSP:

    

您可以配置结果ERROR以将呈现的错误页面片段返回到Ajax响应。

 /error.jspx 

error.jspx:

 <%@ taglib prefix="s" uri="/struts-tags"%> <% request.setAttribute("decorator", "none"); response.setHeader("Cache-Control","no-cache"); //HTTP 1.1 response.setHeader("Pragma","no-cache"); //HTTP 1.0 response.setDateHeader ("Expires", 0); //prevents caching at the proxy server %>    

请检查以下内容

struts.xml中编辑以下内容

  false  actionErrors.*, actionMessages.*, fieldErrors.*   

在你的js代码编辑下面。

  var actionErrs= (data.actionErrors); // list of action errors var actionMsgs= (data.actionMessages); // list of action messages var actionFldErrs= (data.fieldErrors); // list of field errors var alertMessage=""; var i=0; for(i=0;i 

JSP中 编辑而不是以下内容,

    

使用

 

并在你的js代码中添加以下行

 document.getElementById("err").innerHTML=alertMessage; 

检查结果名称

如果您的方法签名如下,

 public String getJsonData(){ if(....){ return ERROR; } return SUCCESS } 

您可以在js代码中获取数据,如下所示,

 var actionErrs= (data.actionErrors); // list of action errors var actionMsgs= (data.actionMessages); // list of action messages var actionFldErrs= (data.fieldErrors); // list of field errors var resultName=(data.getJsonData); // get The method return value var alertMessage=""; var i=0; for(i=0;i