在我的應用程序,我使用Struts 2Struts 2的「如果」標籤
在一個頁面上,我想使用Struts 2 <s:if>
標籤,但不能讓它開始工作。
在行動中,我向視圖展示了一個「人物」實體。
然後在頁面中,我想比較當前日期和人的生日。
我嘗試這樣做:
<s:if test="person.birthday > new java.util.Date()">xxxx</s:if>
但它不工作。
如何解決?
在我的應用程序,我使用Struts 2Struts 2的「如果」標籤
在一個頁面上,我想使用Struts 2 <s:if>
標籤,但不能讓它開始工作。
在行動中,我向視圖展示了一個「人物」實體。
然後在頁面中,我想比較當前日期和人的生日。
我嘗試這樣做:
<s:if test="person.birthday > new java.util.Date()">xxxx</s:if>
但它不工作。
如何解決?
我相信,你正在使用Date
爲person.brithday
數據類型,方式如下
如果你可以改變/修改你的行動增加新的java.util.Date()的行動。你可以做到這一點作爲一個新領域。
另外使用java.util.Date()
是不好的做法,因爲在所有的大部分方法已過時,所以我建議你使用java.util.Calendar
這是更靈活。
您可以使用Date.equals(), Date.before() and Date.after()
比較2 dates.All你需要做的事情如下
<s:if test="%{person.brithday.before(currentdate)}">
inside If block
</s:if>
<s:else>
else block
</s:else>
我在哪裏假設currentDate
在你的Action類被設置,但如果你想將其更改爲只有在jsp頁面中使用它才能更改它。
IMO如果當前日期沒有在頁面的其他地方使用,最好在操作中設置一個「isBirthday」標誌並公開該標誌;更容易測試,並保持計算的視野。 – 2011-12-31 14:45:38
是的同意!!!從來沒有來到我心中感謝這個建議:) – 2011-12-31 14:49:11
'person.brithday'的數據類型是什麼? – 2011-12-31 07:22:31