Struts2 Struts 2“;如果;标签
在我的应用程序中,我使用Struts 2 在一个页面中,我想使用Struts 2Struts2 Struts 2“;如果;标签,struts2,struts,Struts2,Struts,在我的应用程序中,我使用Struts 2 在一个页面中,我想使用Struts 2标记,但无法使其工作 在这个动作中,我向视图公开了一个“person”实体 然后在页面中,我想将当前日期与此人的生日进行比较 我试过这个: <s:if test="person.birthday > new java.util.Date()">xxxx</s:if> xxxx 但它不起作用 如何修复它?我相信您正在使用Date作为person.brithday的数据类型 如果可以更改
标记,但无法使其工作
在这个动作中,我向视图公开了一个“person”实体
然后在页面中,我想将当前日期与此人的生日进行比较
我试过这个:
<s:if test="person.birthday > new java.util.Date()">xxxx</s:if>
xxxx
但它不起作用
如何修复它?我相信您正在使用
Date
作为person.brithday
的数据类型
如果可以更改/修改操作,请将新java.util.Date()作为新字段添加到操作中
另外,使用java.util.Date()
根本不是一个好的实践,因为它的大多数方法都不推荐使用,所以我建议您使用更灵活的java.util.Calendar
您可以使用Date.equals()、Date.before()和Date.after()来比较两个日期。您只需执行以下操作
<s:if test="%{person.brithday.before(currentdate)}">
inside If block
</s:if>
<s:else>
else block
</s:else>
内部If块
else块
我假设在Action类中设置了currentDate
,但如果您想将其更改为仅在jsp页面中使用,则可以更改它。我相信您正在使用Date
作为person.brithday
的数据类型。您可以按照以下方式进行操作
如果可以更改/修改操作,请将新java.util.Date()作为新字段添加到操作中
另外,使用java.util.Date()
根本不是一个好的实践,因为它的大多数方法都不推荐使用,所以我建议您使用更灵活的java.util.Calendar
您可以使用Date.equals()、Date.before()和Date.after()来比较两个日期。您只需执行以下操作
<s:if test="%{person.brithday.before(currentdate)}">
inside If block
</s:if>
<s:else>
else block
</s:else>
内部If块
else块
我假设在Action类中设置了currentDate
,但是如果您想将其更改为仅在jsp页面中使用,可以更改它。person.brithday
的数据类型是什么?person.brithday的数据类型是什么?如果页面上其他地方没有使用当前日期,最好在行动中设置一个“IsBirth”标志,并将其公开;更容易测试,并且不让计算出现在视图中。如果当前日期未在页面的其他位置使用,最好在操作中设置一个“IsBirth”标志并公开它;更易于测试,并使计算不在视图中。