2012-05-04 24 views
2

我想格式化一個struts 2選擇標籤中的日期,但我很難這樣做。我知道有一個struts 2日期標記,但我不認爲這是我正在尋找的。如何格式化struts 2選擇標籤中的日期列表?

我在這裏做的是在選擇框中填入(週末)日期列表,我可以選擇將哪些日期添加到員工的休息時間表中。基本上我正在嘗試對它們進行格式化,以便它顯示出漂亮和整齊(MM/dd/yyyy),但我似乎無法找到正確的方法來執行此操作。我已經嘗試在我的列表下面插入一個格式標記,我已經嘗試在標記中使用format.date參數,並且我嘗試使用listValue格式化日期,但似乎沒有任何工作。我在這裏錯過了什麼嗎?

<s:select size="25" id="inputExclusionDates" name="available" list="availableExclusions" multiple="true" cssClass="multi-select" />

+0

「availableExclusions」是一個日期列表?你想要展示什麼樣的價值觀以及什麼樣的價值觀可以用作選擇價值? (listKey =「這裏是什麼?」listValue =「這裏是什麼?」) –

+0

你贏了+1,因爲除了你是3000問題之外別無其他原因!現在我將閱讀這個問題... – Quaternion

回答

2

爲了好玩,我花時間弄清楚如何在OGNL中這樣做並不像我想象的那麼容易,因爲有些奇怪的皺紋。

以下工作與提供所謂的SimpleDateFormat一個java.text.SimpleDateFormat的屬性對應的動作(請注意,在這些選擇不同的標籤只有一部分是listValue屬性):

<s:select listValue="simpleDateFormat.format(new java.util.Date(#this[0].time))" size="25" id="inputExclusionDates" name="available" list="availableExclusions" multiple="true" cssClass="multi-select" /> 

下做的同樣在JSP以上,但做的一切:

<s:select listValue="(new java.text.SimpleDateFormat('MM/dd/yyyy')).format(new java.util.Date(#this[0].time))" size="25" id="inputExclusionDates" name="available" list="availableExclusions" multiple="true" cssClass="multi-select" /> 

現在我提到的皺紋,那些善於發現的眼睛會究竟有注意到看似多餘的表達new java.util.Date(#this[0].time)我應該只能夠說#this[0]。這畢竟有意義,但它不起作用。所以,因爲這使我有點困惑,我會問一個關於它的問題:Strange OGNL behaviour when using #this in s:select

+0

四元數,太棒了!它像一個魅力。我知道我可以在後端做到這一點,但我知道必須有一種方法可以做到這一點,我只是感到驚訝,我根本找不到任何有關它的信息,或者之前沒有人問過。萬分感謝! – Dan

1

的simpliest方式格式化日期:與一些「日期格式方法」,而不是日期填充對象列表。

1 「格式日期」 的方法創建類

public class MyDate { 
    private Date date; 

    public Date getDate(){ 
    return date; 
    } 

    public String getFormatedDate(){ 
    String str = **some code to format date**; 
    return str; 
    } 

2把這個對象在availableExclusions列表

<s:select size="25" id="inputExclusionDates" name="available" list="availableExclusions" multiple="true" cssClass="multi-select" listKey="date" listValue="formatedDate"/> 
+0

這可能是最簡單的方法...我會爲java.text.DateFormat屬性添加get/set,或者更可能在您的情況下添加java.text.SimpleDateFormat,以便您可以輕鬆設置你想要的格式。 – Quaternion