我有一个jsp页面,List<Object>
为@ModelAttribute
。但是,页面中没有<form:form>
个标记。我正在做的就是打印List
。
在我的Controller.java
中,我通过执行以下操作绑定错误:
result.rejectValue("", "NOT_LOGGED_IN", "You should Login first") ;
但由于我的jsp中没有表单,我无法通过以下方式访问错误:
<form:errors path="" /> <br/>
请告诉我如何访问错误(或我做错了什么)。
答案 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="<p/>" />
答案 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;