2012-01-12 54 views
0

下午在我的時區。Jsp ActionErrors Struts

我正在最終確定一個公司的Java Web項目,並且我需要編寫actionForm驗證方法中檢測到的錯誤。 裏面的validate方法我加入的錯誤,這樣(的代碼片段):

ActionErrors ae = new ActionErrors(); 
ae.add("dummy",new ActionMessage("message")); 
...java...code 
ae.add("dummy",new ActionMessage("message")); 

在我的jsp我想要做的是迭代所有的錯誤發現了它,並打印出來。 我不想通過以下方式把所有的錯誤:

<html:errors property="prop1"/> 
<html...code/> 
<html:errors property="prop2"/> 

我想要做的就是這樣的事情(psedo碼):

if(there is errors) 
    for(erros.hasNext) 
     <td>errors.next()</td> 

我可以,如果正常使用scriplets我不得不。 任何身體能幫助我聽到嗎?

預先感謝 問候

回答

1

只需使用<html:errors/>。對於標籤的工作原理請參見http://struts.apache.org/1.2.x/userGuide/struts-html.html#errors

爲其錯誤消息應 顯示的屬性的屬性名稱。 如果未指定,則顯示所有錯誤消息(不管 屬性)

(重點煤礦)

+0

但我如何控制消息的顯示? 如果只是使用,這將打印一張表,一個列表? 我想控制這一點,我想要一些HTML ID到每個錯誤消息 – tt0686 2012-01-12 12:19:12

+0

這在我鏈接到的文檔中描述。您可能有自定義頁眉和頁腳,以及自定義前綴和後綴。我真的不知道ID如何有用。如果您需要更多的靈活性,您也可以使用同一頁面上描述的標籤遍歷所有錯誤。 – 2012-01-12 12:23:51

+0

@ tt0686爲每個錯誤元素添加一個ID似乎有點毫無意義,如果有的話,使用一個類。儘管如此,仍然沒有必要,因爲您可以將它們嵌入到另一個DOM容器中,並使用CSS來設置其子級。 – 2012-01-12 13:40:19

0

我用下面的代碼生成錯誤的Javascript數組,你的情況應該是非常相似的。請注意使用HTML:消息而不是HTML:錯誤

<logic:messagesPresent>  
    ErrorMessages = new Array(); 
    <html:messages id="message"> 
     ErrorMessages.push("<bean:write name='message' filter='false'/>"); 
    </html:messages> 
</logic:messagesPresent> 
<logic:messagesNotPresent> 
//some logic here 
</logic:messagesNotPresent>