2014-02-07 90 views
5

我有一個JSP頁面,我從我的操作類中獲取Date值。我無法理解它是如何處理爲:struts屬性標籤如何與日期值一起使用?

​​

給我最新

2/7/14 

<s:property value="{#someDate}"/> 

給我的日期爲

[Wed Feb 7 00:00:00 IST 2014] 

可有人告訴我日期的價值實際上是多少?在這裏發現,因爲日期以不同的格式返回?

+0

'someDate'的屬性是哪種類型..?我的意思是字符串或日期類型 – Babel

+0

它的java.util.Date –

+0

我不太瞭解..我認爲struts2''標記通過您使用'#'鍵時用來獲取變量的概念來評估valuestack中的變量用於訪問由''標籤設置的變量,當您使用該「{#someDate}」時,它將獲取作爲其設置者設置的變量類型的值。而當你使用'#someDate'時,它通常通過名字'someDate'搜索值棧,並返回字符串格式爲'2/7/14'的格式爲推送到'someDate'變量的真實格式。for更多信息查看ognl文檔。 – Babel

回答

8

不錯的問題。

<s:property value="{#someDate}"/>等於<s:property value="someDate.toString()"/>或${someDate}其中作爲<s:property value="someDate"/>是使用內置的xwork2其中使用短格式與用於日期當前請求相關聯的區域設置的類型轉換。

Built in Type Conversion Support

value="{#someDate}" means value="someDate.toString()" 

其轉換日期date.tosting()這就是爲什麼你得到[週三2月7日00:00:00北京時間2014]

爲了處理日期格式有在Struts2一個特殊的標記

<s:date name="someDate" format="dd/MM/yyyy" /> 

打印

17/04/2014 

Also see

<s:date name="someDate" format="dd/MMM/yyyy" /> 

Prints

17/Apr/2014 

也有是attibute nice="true"

<s:date name="someDate" nice="true" /> 

Prints

2 days ago 
相關問題