4

我有一个带有List<Object>as 的jsp 页面@ModelAttribute。但是,页面中没有<form:form>标签。我所做的就是打印List.

在我的Controller.java中,我通过执行以下操作绑定了一个错误:

result.rejectValue("", "NOT_LOGGED_IN", "You should Login first") ;

但是由于我的 jsp 中没有表单,因此我无法通过以下方式访问错误:

<form:errors path="" /> <br/>

请告诉我如何访问错误(或我做错了什么)。

4

5 回答 5

6

在您的控制器中:

model.addAttribute("errors", result.getAllErrors());

在您的 JSP 中:

<c:forEach items="${errors}" var="error">
    <%-- do want you want with ${error} --%>
    <c:out value="${error.defaultMessage}" />
</c:forEach>
于 2012-09-19T13:48:31.783 回答
3

以这种方式关联全局错误:

result.reject("NOT_LOGGED_IN", "You should Login first") ;

您可以在 jsp 中显示全局错误:

<form:errors cssClass="error" delimiter="&lt;p/&gt;" />
于 2012-09-19T13:53:08.237 回答
0

对于代码中设置的任何特定错误,例如-

model.addObject("errorMsg","username/password failed");

并以这种方式在jsp上显示此错误:

<c:out value="${errorMsg}"/>

这样你就会在jsp上得到你的错误。

于 2013-11-07T11:00:22.670 回答
0

有一种方法可以引用错误,例如

代替

<form:form commandName="object">
     <form:errors path="field"/>
</form:form>

最好的

于 2016-02-01T12:37:27.060 回答
0

检查是否在 JSP 中启用了表达式语言评估(默认情况下它是禁用的)。如果没有添加下面的代码来启用它。

<%@ page isELIgnored="false" %>

于 2018-03-27T10:54:30.970 回答