2

私のMVCコントローラーには、署名付きのハンドラーメソッドがあります。

public void myAction(ActionRequest request, ActionResponse response, Model model) {...}

そして、この方法では、送信されたデータに問題がないかどうかを確認します。有効でない場合は、エラーを設定したいと思います。現在、私はこの簡単な方法でそれを行っています:

model.addAttribute("operationStatus", "error");
model.addAttribute("operationMessage", "a lot of things went wrong");

およびビューJSP:

<c:if test="${requestScope.operationStatus == 'error'}">
    <div class="msg-error">${requestScope.operationMessage}</div>
</c:if>

確かに、SpringPortletMVCのエラーを処理するためのより良い方法が必要です。<form>タグだけでなく、さまざまな場所にエラーメッセージを表示する必要があることに注意してください。

では、エラーをどのように処理する必要がありますか?

4

1 に答える 1

3

Liferayのみを対象としている場合は、SessionErrorsクラスを使用して、次のことを実行できます。

SessionErrors.add(actionRequest, "some-error");

次に、JSPには次のものがあります。

<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %>
<liferay-ui:error key="some-error" message="Your error message goes here!" />

例外を除いて、これを使用することもできます。ここで私の答えをチェックしてください。

于 2012-07-16T15:20:49.060 に答える