Primefaces Calendar Listener不会将数据影响到变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Primefaces Calendar Listener不会将数据影响到变量相关的知识,希望对你有一定的参考价值。

我有两个Datepicker / Calendar(Primefaces),我想要做的就是当我点击第二个日历时,我会称之为监听器,这将会影响两个日期之间的日子。所以这就是我所做的:

网页

<a:column span="4" >
            <a:label value="Begining Date" span="4"   required="true"  ></a:label>
            <a:column span="8">
                <p:calendar  id="idBegDate"  value="#{addController.enti.begDate}"
                             pattern="dd/MM/yyyy"  label="Begining Date" 
                             readonlyInput="true" locale="fr" navigator="true"
                             required="true" >

                </p:calendar>

            </a:column>
        </a:column>

        <a:column span="4" >
            <a:label value="End Date" span="4"   required="true"  ></a:label>
            <a:column span="8">
                <p:calendar  id="idDateFin"  value="#{addController.enti.dateFinAbsAgt}"
                             pattern="dd/MM/yyyy"  label="End Date" 
                             readonlyInput="true" locale="fr" navigator="true"
                             required="true" >
                    <p:ajax event="dateSelect" listener="#{addController.doCalculate()}" update="jourCalendaire" />
                </p:calendar>

            </a:column>
        </a:column>

支持Bean

public void doCalculate()
{
//..Some Stuffs
}

问题是,当听众被调用时,它说dateOfBeginingNULL,而它不应该。

我通过向listener添加一个空的first calendar找到了解决这个问题的方法:

public void emptyListener()
{

}

我认为这不符合逻辑,所以我想知道为什么网页/ backingBean有这种行为?有没有办法只使用第二个日历的监听器?

谢谢

答案

在第二个日历的p:ajax上,你需要添加process="@this idBegDate",以便JSF知道获取@this(第二个日历)和idBegDate(第一个日历)的值并将其放入模型对象中。

除非您处理它,否则视图中的任何内容都不会返回到服务器。在第一个日历中添加p:ajax会为您处理。

以上是关于Primefaces Calendar Listener不会将数据影响到变量的主要内容,如果未能解决你的问题,请参考以下文章

使用 p:calendar 相互限制开始和结束日期时间(无验证)

如何将格式化日期转换为日期对象Java

markdown Liste des commandes“PowerShell”utiles

PHP Tester une liste de checkbox

Exception sending context destroyed event to liste

html 字体Awsome nelle liste ul li / Font Awesome in a undered list