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>

当然必须有更好的方法来处理 Spring Portlet MVC 中的错误。请注意,我需要在不同的地方显示错误消息,而不仅仅是在<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 回答