struts2 Ajax错误?

2024-01-01

我的动作课上有:

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-插件 to get tspNameIdMapJSON 形式。

JS:AJAX 的一部分:

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

My 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>

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

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

EDIT:当我按照 @Prabhakar 回答时,我收到了错误消息,但它在successAJAX 调用。

另一个问题是,当我将其放入 JSP 中时,actionerror没有显示。

Jsp:

<s:if test="hasActionErrors()">
       <s:actionerror />
</s:if>

请检查以下内容

In your struts.xml编辑以下内容

<result name="success" type="json">
  <param name="ignoreHierarchy">false</param>
    <param name="includeProperties">
        actionErrors.*,
        actionMessages.*,
        fieldErrors.*
    </param>
</result>

而在你的js code编辑以下内容。

    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<actionErrs.length; i++){
    alertMessage=alertMessage+" "+actionMessages[i];
    }

    alert(alertMessage);

Edit在你的JSP而不是以下内容,

<s:if test="hasActionErrors()">
       <s:actionerror />
</s:if>

use

<div id="err"></div>

并添加以下行js code

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<actionErrs.length; i++){
alertMessage=alertMessage+" "+actionMessages[i];
}

alert(alertMessage);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

struts2 Ajax错误? 的相关文章

随机推荐