我的动作课有:
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 以tspNameIdMapJSON形式获取。
tspNameIdMap
JS:AJAX的一部分:
success: function(data){ alert('Updated DB'); }, error: function(data){ alert(data); }
我的struts.xml:
struts.xml
<action name="findTspNameIdMap" class="cdot.oss.cmsat.gma.struts.ConfigureTspThresholdAction" method="findTspNameIdMap"> <result name="success" type="json"> <param name="root"> tspNameIdMap <!-- tspNameIdMap will be returned in JSON form --> </param> </result> </action>
我希望我的addActionErrorAjax错误函数中有消息。然后,我还将要在我的JSP中显示它。我怎么能得到这个?
addActionError
附:我是否必须在属性文件中包括此ActionError消息?我是第一次使用它。帮帮我
编辑 :当我按照@Prabhakar回答时,我收到了错误消息,但success在AJAX调用中返回了它。
success
另一个问题是,当我将其放入JSP时,actionerror不会显示。
actionerror
Jsp:
<s:if test="hasActionErrors()"> <s:actionerror /> </s:if>
您可以配置结果ERROR以将呈现的错误页面片段返回给Ajax响应。
ERROR
<result name="error">/error.jspx</result>
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 %> <s:if test="hasActionErrors()"> <s:actionerror /> </s:if>