如何在struts 2中更改java.util.Date對象的格式。我測試過的,Struts 2接受m/d/yy。可以更改格式嗎?在Struts2中輸入日期
還有如何更改默認消息「字段日期的無效字段值」?
struts2中的日期標記只能用於輸出。
如何在struts 2中更改java.util.Date對象的格式。我測試過的,Struts 2接受m/d/yy。可以更改格式嗎?在Struts2中輸入日期
還有如何更改默認消息「字段日期的無效字段值」?
struts2中的日期標記只能用於輸出。
你可以通過格式s:date
標籤
<s:date name="myDate" format="yyyy-MM-dd" />
要更改默認的錯誤消息,在您的validation.xml
您可以在ApplicationResources.properties
文件中添加消息參數
<field name="myDate">
<field-validator type="date">
<message key="errors.myDateRequired" />
</field-validator>
</field>
然後,你將提供價值errors.myDateRequired
更新:按照評論
s:date
只是一個只讀標籤,意味着它不能用於接受來自用戶的輸入。
爲使文本字段接受日期不同的格式,兩個方法:一個
可以使用自定義轉換器使用文本字段,日期,example
更新了我的帖子 – mprabhat
,因此無法在沒有客戶端腳本的情況下在struts2中進行設置?好,謝謝。 –
的日期格式的Struts接受取決於用戶的語言環境。所以對於不同的語言環境,你可以有不同的日期格式。這樣你就不能支持同一地區的多種日期格式,但我不明白你爲什麼需要這個,這隻會讓你的用戶感到困惑。支持不同日期格式的相同語言環境的唯一方法是使用@mprabhat註釋的自定義日期轉換器。
你可以看到官方文檔關於這一點:
定義格式爲每一種語言Y中的資源包。舉例來說,適當的EN_US格式定義擴展看起來是這樣的:
format.date = {0,date,MM/dd/yy}
同時,你可以添加以下到您的de_DE這個包:
format.date = {0,date,dd.MM.yyyy}
http://struts.apache.org/2.1.6/docs/formatting-dates-and-numbers.html
這是一個有點混亂...通過接受你的意思是什麼是輸入?在這種情況下,日期格式預計基於用戶區域設置。如果你的意思是在JSP上格式化,我會說這是一個不同的問題,但我希望有一個設置可以全局設置格式,我不認爲這是一個問題。 mprabhat顯示瞭如何在JSP端進行格式化。 – Quaternion
是的。接受,我的意思是輸入。如果可能,我希望我的用戶輸入不同的格式。 –