显示Jash / PrimeFaces的dataTable中包含Date对象的HashMap的内容

我创建了以下方法,它返回一个HashMap<Date, List<Date>>其中键是一个Date对象,并且该值是一个List的Date对象。该方法接受ListoftimeStamps并将其按天分组。然后,它返回上述HashMap构造中的那些分组时间戳。


 public class GroupDatesByDay {


    HashMap<Date, List<Date>> groupedUserLogins = new HashMap<Date, List<Date>>();

    Calendar cal = Calendar.getInstance();


    public HashMap<Date, List<Date>> parseTimeStamps(List<Date> timeStamps) {


    DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss.SSS", Locale.US);

    List<Date> timeStamps = new ArrayList<Date>();


        for (Date ts : timeStamps) {


            cal.setTime(ts);

            cal.set(cal.HOUR_OF_DAY, 0);

            cal.set(cal.MINUTE, 0);

            cal.set(cal.SECOND, 0);

            cal.set(cal.MILLISECOND, 0);


            if (!groupedUserLogins.containsKey(cal.getTime())) {


                groupedUserLogins.put(cal.getTime(), new ArrayList<Date>());

            }

            groupedUserLogins.get(cal.getTime()).add(ts);

        }


        keySet = groupedUserLogins.keySet();

        keyList.addAll(keySet);

        return groupedUserLogins;

    }

}

HashMap中的数据应如下所示:


Key                          List<Date> 


2018-07-11 

                  2018-07-11 08:14:08.540000 

                  2018-07-11 10:46:23.575000 


2018-07-12  

                  2018-07-12 12:51:48.928000 

                  2018-07-12 13:09:00.701000 

                  2018-07-12 16:04:45.890000 


2018-07-13 

                  2018-07-13 14:14:17.461000 

在我的XHTML中,我想每天在dataTable和RowExpansion中显示此数据,以查看各个时间戳。我已经编写了以下XHTML。如您所见,userLogins这就是我的Java方法返回的内容。我正在对此进行迭代dataTable,但是我不知道如何以上述方式在其中显示值。


<p:dataTable var="userLogin" value="#{userEdit.userLogins}"class="DataTable">

        <p:column headerText=" Recent Logins">

          <h:outputLabel value="#{userLogin}">

          </h:outputLabel>

        </p:column>

</p:dataTable>


慕侠2389804
浏览 120回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java