我目前使用Struts2標籤爲我的表單,並顯示其錯誤消息。我的問題是,在Struts2標籤中顯示錯誤消息的默認標記是<ul>
標記的用法。無論如何,我可以改變這一點嗎?我希望錯誤消息顯示爲<span>
不是列表。Struts2標籤:Fielderrors標籤
我該怎麼做到這一點?
我目前使用Struts2標籤爲我的表單,並顯示其錯誤消息。我的問題是,在Struts2標籤中顯示錯誤消息的默認標記是<ul>
標記的用法。無論如何,我可以改變這一點嗎?我希望錯誤消息顯示爲<span>
不是列表。Struts2標籤:Fielderrors標籤
我該怎麼做到這一點?
另一種選擇是更改UL元素的CSS。
只有當您特別關心外觀而不是DOM本身時,此方法纔有效。
這裏是一個教程,展示Struts 2的ActionError和ActionMessage類的使用。
http://www.mkyong.com/struts2/struts-2-actionerror-actionmessage-example/
ActionError - 經由<的顯示器 - 用於發送錯誤反饋消息給用戶:actionerror />
<s:if test="hasActionErrors()">
<div class="errors">
<s:actionerror/>
</div>
</s:if>
ActionMessage的 - 被用來發送信息反饋信息給用戶,通過<顯示s:actionmessage />
<s:if test="hasActionMessages()">
<div class="welcome">
<s:actionmessage/>
</div>
</s:if>
但這些生成li和ul作爲其標記?我不想生成錯誤消息ul – user962206
你看過那個鏈接中的例子嗎?我不明白你在說什麼。你可以在這裏添加一些示例代碼來尋求支持。 –
你應該在發佈前真正閱讀這個問題。不要發佈里程的答案並混淆他人。問題是關於fieldError標籤,而不是actionError或actionMessage ..是不是很容易區分? –
標籤根據他們的主題呈現。然後問題變成:你如何改變主題?您可以更改標籤 (將標籤上的主題屬性設置爲簡單),頁面,請求或一般。
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/>
標籤...畢竟我們需要始終使用屬性標籤。
我的主題很簡單,但是當我使用fielderrors標籤時,它會爲錯誤列表生成一個ul列表,這是我不想要的。 – user962206
您可以覆蓋用於呈現錯誤的模板文件。將actionerror.ftl
和fielderror.ftl
文件從simple
主題從struts2-core
jar複製到您的應用程序,並將其修改爲不使用ul
/li
標籤。
我有同樣的問題,我用下面的代碼來解決我的問題
<s:if test="fieldErrors.get('email').size() > 0">
<s:property value="fieldErrors.get('email').get(0)"/>
</s:if>
其中,email是我的字段的名稱。這樣我們不必修改CSS。
偉大的建議!忘了那個。我只關心它的外觀。 – user962206