且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

在JSP中使用struts 2比较日期

更新时间:2023-01-16 17:14:26

在上面你试着比较字符串和日期对象这导致了问题。
我建议你编写一个帮助类来比较日期并利用OGNL静态方法访问。 OGNLBasics-Accessingstaticproperties

In the above you were trying compare string with date object that's causing the problem. I suggest you to write a helper class to compare date and take the advantage of OGNL static method access. OGNLBasics-Accessingstaticproperties

    <s:set var="currentDate" value="%{new java.util.Date()}"/>
    <s:set var="futureDate" value="%{new java.util.Date()}"/>
    <s:property value="{#currentDate}"/>
    <s:property value="{#futureDate}"/>
    <s:if test="%{@com.mycompany.temp.strtus2.example.HelloWorld@compareDate(#currentDate, #futureDate)}">
        <div>Do your stuff</div>
    </s:if>
    <s:else>
        <div>else condition</div>
    </s:else>

Util Class

Util Class

public static boolean compareDate(Date currentDate, Date futureDate) {
    boolean flag = false;
    if (removeTime(currentDate).equals(removeTime(futureDate))) {
        flag = true;
    } 
    return flag;
}

public static Date removeTime(Date date) {
    Calendar cal = Calendar.getInstance();
    cal.setTime(date);
    cal.set(Calendar.HOUR_OF_DAY, 0);
    cal.set(Calendar.MINUTE, 0);
    cal.set(Calendar.SECOND, 0);
    cal.set(Calendar.MILLISECOND, 0);
    return cal.getTime();
}