2012-09-19 47 views
4

我有一個jsp頁面,List<Object>作爲@ModelAttribute。但是,頁面中沒有<form:form>標籤。我正在做的是打印List的內容。如何在JSP中顯示錯誤而不需要<form:form>

在我Controller.java,我做結合的錯誤:

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

但因爲我沒有在我的jsp一種形式,我不能與訪問錯誤:

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

請告訴我如何訪問錯誤(或者我做錯了什麼)。

回答

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> 
+0

但我想給你JSTL''標籤 – th3an0maly

+0

@ th3an0maly我明白你沒」不想使用該標籤。如果你想使用它,你需要一個''標籤。你爲什麼不能用一個? – sp00m

+2

好問題。其實,我覺得有點晚了。現在我的頁面中有一個「表格」。不管怎麼說,多謝拉。 – th3an0maly

3

副全局錯誤是這樣的:

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

您可以顯示JSP中的全局錯誤:

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

這不起作用 – th3an0maly

+0

'result.rejectValue(「」,「NOT_LOGGED_IN」,「你應該先登錄」);'也註冊全局錯誤。我不認爲問題出在那。 – th3an0maly

0

代碼中的任何特定的錯誤 一套喜歡 -

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

並顯示在JSP這個錯誤是這樣的:

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

這樣你會得到你的JSP錯誤。

+0

我需要在您的模型中顯示 – th3an0maly

+0

的'BindingResult'對象中的錯誤,將spring jsr 303驗證。並在資源屬性文件中放置字段和錯誤鍵值。並檢查你的代碼 - if(result.hasErrors()) –

0

有引用錯誤,如

,而不是

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

最好的方式