在我的 MVC Controller 中,我有一个带有签名的处理程序方法:
public void myAction(ActionRequest request, ActionResponse response, Model model) {...}
在这个方法中,我检查一些提交的数据是否正确。如果它无效,我想设置一个错误。目前我这样做很简单:
model.addAttribute("operationStatus", "error");
model.addAttribute("operationMessage", "a lot of things went wrong");
在 View JSP 中:
<c:if test="${requestScope.operationStatus == 'error'}">
<div class="msg-error">${requestScope.operationMessage}</div>
</c:if>
当然必须有一种更好的方法来处理 Spring Portlet MVC 中的错误。请注意,我需要在不同的地方显示错误消息,而不仅仅是在<form>
中。标签。
那么我应该如何处理错误?
最佳答案
如果您仅针对 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!" />
您还可以使用异常(exception)来执行此操作。看看我的回答 here .
关于spring-mvc - 在 Spring Portlet MVC 中设置模型错误的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11503215/