2

私はアクションクラスに持っています:

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-plugintspNameIdMapを使用して JSON 形式を取得しています。

JS: AJAX の一部:

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

私の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に表示したいと思います。どうすればこれを入手できますか?

Ps: この ActionError メッセージをプロパティ ファイルに含める必要がありますか? 初めて使用しています。ヘルプ

編集: @Prabhakar の回答に従っていると、エラー メッセージが表示されましたsuccessが、AJAX 呼び出しで返されました。

もう 1 つの問題は、これを JSP に入れると、actionerrorが表示されないことです。

Jsp:

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

2 に答える 2

1

ERRORレンダリングされたエラー ページ フラグメントを Ajax レスポンスに返すように結果を構成できます。

<result name="error">/error.jspx</result>

エラー.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>
于 2013-12-27T08:46:20.140 に答える