spring-mvc - 在 Spring Portlet MVC 中设置模型错误的正确方法

标签 spring-mvc liferay portlet

在我的 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/

相关文章:

java - 如何以编程方式动态添加 liferay portlet 实例并通过单击按钮将 portlet 安装到仪表板页面?

java - 我应该关闭我的 Spring 3 Controller 的 Writer 参数吗?

java - 扩展 RequestMappingHandlerMapping 以注册备用 URL 模式

spring - 如何显示 <form :errors> outside <form:form> in Spring?

java - 由 ModelAttribute 注释的多个方法。如何设置方法的调用顺序

tomcat - Liferay 6.2 ga 5 - 上传 SVG 问题

javascript - 在 Liferay portlet 中放置一个 iframe

java - Spring和Portlet环境中的Web服务

liferay - Portlet 未部署

java - Liferay 和 struts2