JSF2.0+;PrimeFaces 3.5的Ajax不起作用

JSF2.0+;PrimeFaces 3.5的Ajax不起作用,ajax,jsf,jsf-2,primefaces,Ajax,Jsf,Jsf 2,Primefaces,我遇到了一些问题,经过3天的搜索后无法解决。我使用的是JSF+PrimeFaces 3.5+Ajax,它不能正常工作 基本上我有startDate和numberOfDays属性。我想在通知startDate和numberOfDays时使用ajax自动计算endDate 这些是问题: 它不会更新属性endDate。将调用侦听器(我已将其断点!),并确定计算了该属性 侦听器只被调用一次。我不能让它跑两次 这是我的xhtml页面: <div> <h:outputLabel

我遇到了一些问题,经过3天的搜索后无法解决。我使用的是JSF+PrimeFaces 3.5+Ajax,它不能正常工作

基本上我有startDate和numberOfDays属性。我想在通知startDate和numberOfDays时使用ajax自动计算endDate

这些是问题:

  • 它不会更新属性endDate。将调用侦听器(我已将其断点!),并确定计算了该属性

  • 侦听器只被调用一次。我不能让它跑两次

这是我的xhtml页面:

<div>
    <h:outputLabel for="startDate">
        <h:outputFormat value="startDate" />
        <h:inputText id="startDate" value="#{bean.startDate}">
            <f:convertDateTime type="date" pattern="MM/dd/yyyy" />
        </h:inputText>
    </h:outputLabel>
</div>

<div>
    <h:outputLabel for="numberOfDays">
        <h:outputFormat value="numberOfDays" />
        <h:inputText id="numberOfDays" value="#{bean.numberOfDays}">
            <p:ajax listener="#{bean.calculateEndDate}" process="startDate,numberOfDays" update="panelGroupEndDate" partialSubmit="true" />
        </h:inputText>
    </h:outputLabel>
</div>

<div>
    <h:panelGroup id="panelGroupEndDate">
        <h:outputLabel for="endDate">
            <h:outputFormat value="endDate" />
            <h:inputText id="endDate" value="#{bean.endDate}">
                <f:convertDateTime type="date" pattern="MM/dd/yyyy" />
            </h:inputText>
        </h:outputLabel>
    </h:panelGroup>
</div>
我有ajax代码在不同的页面上运行,没有问题,但所有这些代码都是由commandButton触发的。如果我使用commandButton来触发侦听器,同样的示例也会起作用

有人知道我做错了什么吗?Thanx很多!:)

看看这个:

<p:ajax listener="#{bean.calculateEndDate}" process="startDate,numberOfDays, @this" update="panelGroupEndDate" />


我遇到了一个问题,侦听器方法没有被调用,有时在进程末尾添加@this可以使它正确

只是想让您知道它在PF4中工作,我希望日期类型是Date,numberOfDays是bean上的整数,所有getter/setter都在那里。所以可能是针对3.5的,或者问题不在代码范围内。或Util.calculateEndDate引发异常。3.5是否需要计算数据(AjaxBehaviorEvent e)?
<p:ajax listener="#{bean.calculateEndDate}" process="startDate,numberOfDays, @this" update="panelGroupEndDate" />