在我的应用程序中,我使用Struts 2。
在一个页面中,我想使用Struts 2 <s:if>
标记,但无法使其正常工作。
在动作中,我向视图公开了一个“人”实体。
然后在页面中,我想将当前日期与此人的生日进行比较。
我试过了:
<s:if test="person.birthday > new java.util.Date()">xxxx</s:if>
但它不起作用。
如何解决?
答案 0 :(得分:3)
我认为您使用Date
作为person.brithday
的数据类型。您可以按照以下方式执行此操作
如果您可以更改/修改您的操作,请将新的java.util.Date()添加到操作中作为新字段。
此外,使用java.util.Date()
并不是一个好习惯,因为大多数方法都已弃用,因此我建议您使用更灵活的java.util.Calendar
。
您可以使用Date.equals(), Date.before() and Date.after()
来比较2个日期。您需要执行以下操作
<s:if test="%{person.brithday.before(currentdate)}">
inside If block
</s:if>
<s:else>
else block
</s:else>
我假设你的Action类中设置了currentDate
,但如果你想改变它只在jsp页面中使用它可以改变它。