如果不設置格式的話,首先顯示的格式不符合規範yyyy-MM-dd,存入數據庫的格式也不對,按這個日期查詢的話,還要轉換成指定的格式,挺麻煩的。
1.利用 <s:date>進行格式化.如:
- <s:date name="birthday" format="yyyy-MM-dd"/>
就是將屬性birthday按yyyy-MM-dd的格式進行輸出.
2.利用<s:param>進行格式化.如:
- <s:textfield name="birthday" >
- <s:param name="value"><s:date name="birthday" format="yyyy-MM-dd"/></s:param>
- </s:textfield>
或者
- <input type="text" value="<s:date name="birthday" format="yyyy-MM-dd" />" />
Oracle struts2中的日期期輸入顯示問題還有一種是通過國際化的方式來進行:
首先在struts.properties中配置struts.custom.i18n.resources=globalMessages
然後在globalMessages_zh_CN.properties和globalMessages_en_US.properties文件中添加如下內容:
- global.datetime = {0, date, yyyy-MM-dd HH:mm:ss}
- global.date = {0, date, yyyy-MM-dd}
最後在頁面中使用下面的語句就可以實現日期的格式化輸出了.
- <s:textfield name="birthday" value="%{getText('global.date',{birthday})}"/>
golbal.date樣式
- <s:textfield name="birthday" value="%{getText('global.datetime',{birthday})}"/>
global.datetime樣式,上述的相關內容就是對Oracle struts2中的日期期輸入顯示問題的描述,希望會給你帶來一些幫助在此方面。
、、用以上方法就可以了,然而,還有個問題。就是如果一開始沒有保存這個日期數據,在顯示的時候,會顯示‘null’
解決方法是
<s:textfield name="user.name"
value="%{user== null||user.name== null ? '' :getText('global.date',{user.name})}"/>