簡體   English   中英

Struts2標簽:Fielderrors標簽

[英]Struts2 Tags: Fielderrors tag

我目前正在為我的表單使用Struts2標記,並顯示其錯誤消息。 我的問題是,在Struts2標簽中顯示錯誤消息的默認標記是<ul>標簽的使用。 無論如何我可以改變這個嗎? 我希望錯誤消息顯示為<span>而不是列表。

我怎么做到這一點?

標簽根據其主題進行渲染。 然后問題變為:你如何改變主題? 您可以為標記更改它(將標記上的主題屬性設置為簡單),頁面,請求或一般。

http://struts.apache.org/2.2.1/docs/struts-2-themes.html

我個人喜歡寫html,也就是說我不喜歡struts2默認主題的任何“幫助”。 所以在我的struts.xml中我只是使用:

<constant name="struts.ui.theme" value="simple" />

Web開發人員應該知道HTML。

更新

一般使用YUI reset.css所以我可能錯過了這個......

如果在操作上擴展ActionSupport,則會有一個getFieldErrors()方法,因此您可以使用<s:property value='fieldError["field_name"]'/> ,它將返回關聯的錯誤消息字符串,當然沒有任何格式。

它的可讀性不比<s:fielderror/>標簽<s:fielderror/> ......畢竟我們<s:fielderror/>需要使用屬性標簽。

您可以覆蓋用於呈現錯誤的模板文件。 復制actionerror.ftlfielderror.ftl從文件中simple的主題struts2-core罐子您的應用程序,並修改它們不使用ul / li標簽。

另一種選擇是更改UL元素的CSS。

這種方法只有在您特別關注外觀而非DOM本身時才有效。

我有同樣的問題,我使用以下代碼來解決我的問題

<s:if test="fieldErrors.get('email').size() > 0">
     <s:property value="fieldErrors.get('email').get(0)"/>
</s:if>

電子郵件是我的字段的名稱。 這樣我們就不必修改CSS了。

這是一個教程,展示了Struts 2的ActionError和ActionMessage類的使用。

http://www.mkyong.com/struts2/struts-2-actionerror-actionmessage-example/

  1. ActionError - 用於向用戶發送錯誤反饋消息 - 通過<s:actionerror />顯示

     <s:if test="hasActionErrors()"> <div class="errors"> <s:actionerror/> </div> </s:if> 
  2. ActionMessage - 用於向用戶發送信息反饋消息,通過<s:actionmessage />顯示

     <s:if test="hasActionMessages()"> <div class="welcome"> <s:actionmessage/> </div> </s:if> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM