如果没有<form:form> </form:form>,我如何在JSP中显示错误

时间:2012-09-19 13:42:10

标签: spring spring-mvc

我有一个jsp页面,List<Object>@ModelAttribute。但是,页面中没有<form:form>个标记。我正在做的就是打印List

的内容

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

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

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

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

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

5 个答案:

答案 0 :(得分:5)

在您的控制器中:

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>

答案 1 :(得分:3)

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

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

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

<form:errors cssClass="error" delimiter="&lt;p/&gt;" />

答案 2 :(得分:0)

任何特定错误 在您的代码中设置,如 -

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

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

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

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

答案 3 :(得分:0)

有一种方法可以引用错误     

而不是

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

最好的

答案 4 :(得分:0)

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

&lt;%@ page isELIgnored =“false”%&gt;