有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用jstl比较jsp中的日期对象

我有两个带有日期类型字段的POJO。 我正在使用Spring MVC,并通过ModelAndView传递这两个POJO。 我可以使用compareTo()在控制器中比较这些日期。 我想在JSP页面中比较它们以隐藏或显示一些td

在这种情况下:

for (AttendanceReport attendanceR2 : pastAttendance) {
    System.out.println("For date: "+ attendanceR2.getTrainingDate());

    for (Attendance attendance2 : absentCandidates) {
        if (attendance2.getDateOfAbsentee().compareTo(attendanceR2.getDateOfTraining())==0) {
            System.out.println("\n");
            System.out.println(attendance2.getCandidate().getCandidateId() + "---- absent on--- "+ attendance2.getDateOfAbsentee());
        }
    }
}

我也希望在JSP中进行比较没有任何脚本。。。!! 这是如何实现的

我正在按如下方式设置控制器中的对象:

modelAndView.addObject("absentCandidates",absentCandidates);
modelAndView.addObject("pastAttendance",pastAttendance);

我试过这是我的JSP页面。。。但它不起作用

<c:forEach items="${pastAttendance}" var="pastAttendance">
<c:forEach items="${absentCandidates}" var="absentCandidates">
   <c:if test="${pastAttendance.getDateOfTraining==absentCandidates.getDateOfAbsentee}">
    <td>Some Check Box Unchecked</td>
   </c:if>
</c:forEach>
</c:forEach>

dateOfTraining和DateOfAbcentee都是Date类型的字段。。。他们只是在JSTL中没有被比较


共 (1) 个答案

  1. # 1 楼答案

    通常,您在servlet中执行业务逻辑。在servlet中,您准备了一个数据模型,该模型表示您希望有条件地构建的表,然后在JSP中,您只需使用JSTL循环生成的数据模型,以生成所需的视图

    或者,您可以在POJO bean类的简单getter属性中构建数据模型,这样就不需要servlet来做准备工作