首页 > 解决方案 > 日程表在 Calender Primeface JSF 上显示错误的结束日期

问题描述

嗨,我尝试使用 primaface 制定计划,但结束日期显示在指定日期前一天

在此处输入图像描述

还有这个豆

 @PostConstruct
    public void init() {
        eventModel = new DefaultScheduleModel();

        lazyEventModel = new LazyScheduleModel() {

            @Override
            public void loadEvents(Date start, Date end) {
                List<Group> listproject = new GroupDAO().retriveAll("", new Object[] {});
                Calendar date = Calendar.getInstance();
                Calendar dates = Calendar.getInstance();

                for (int i = 0; i < listproject.size(); i++) {

                    date.setTime(listproject.get(i).getCreateAt());

                    dates.setTime(listproject.get(i).getUpdateAt());

                    addEvent(new DefaultScheduleEvent(listproject.get(i).getName(), date.getTime(), dates.getTime()));
                    System.out.println(listproject.get(i).getName()+ listproject.get(i).getCreateAt() + listproject.get(i).getUpdateAt());
                }


            }  
        };
    }

Xhtml

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://java.sun.com/jsf/core"
template="/user_templates/template.xhtml">
<ui:define name="metadata">
</ui:define>
<ui:define name="content">
    <p:layout>
        <p:layoutUnit position="center">
            <h:form id="formId">
                <h:panelGrid columnClasses="value">
                    <p:schedule value="#{testBean.lazyEventModel}" timeZone="GMT+7" > <!-- view="agendaWeek" bisa dipake buat search -->
                        <p:ajax event="dateSelect" listener="#{testBean.onDateSelect}" update="eventDetails" oncomplete="PF('eventDialog').show()" />
                        <p:ajax event="eventSelect" listener="#{testBean.onEventSelect}" update="eventDetails" oncomplete="PF('eventDialog').show()" />
                    </p:schedule>
                </h:panelGrid>

                 <p:dialog widgetVar="eventDialog" header="Event Details" showEffect="clip" hideEffect="clip">
        <h:panelGrid id="eventDetails" columns="2">
        <p:outputLabel for="title" value="Titles:" />
        <p:inputText id="title" value="#{testBean.event.title}" required="true" />

        <p:outputLabel for="from" value="From:" />
        <p:calendar id="from" value="#{testBean.event.startDate}" pattern="dd/MM/yyyy HH:mm" showTime="true" appendTo="@(body)"  />

        <p:outputLabel for="to" value="To:" />
        <p:calendar id="to" value="#{testBean.event.endDate}" pattern="dd/MM/yyyy HH:mm" showTime="true" appendTo="@(body)" />

        <!-- <p:outputLabel for="allDay" value="All Day (see #1164):" />
        <h:selectBooleanCheckbox id="allDay" value="#{testBean.event.allDay}" /> -->

        <p:commandButton type="reset" value="Reset" />
        <p:commandButton id="addButton" value="Save" action="#{testBean.addEvent}" oncomplete="PF('myschedule').update();PF('eventDialog').hide();" />
    </h:panelGrid>
</p:dialog>    
            </h:form>
        </p:layoutUnit>
    </p:layout>
</ui:define>

以前我在 cratedAt 上使用 Date 设置值,在 GroupDAO 上使用 updateAt 从数据库中获取值,但它显示的内容与开始日期的图片相同,然后我将其更改为时间戳,星日期显示为我想要的但结束日期显示这样,我不知道问题是

我刚刚意识到这个值的结束日期错误

标签: jsfprimefacesfullcalendar

解决方案


推荐阅读