Calendar primefaces没有属性';handleDateSelect';

Calendar primefaces没有属性';handleDateSelect';,calendar,primefaces,Calendar,Primefaces,我刚开始使用PrimeFaces,无法找出我的代码有什么问题。除了bean名称之外,它与showcase示例完全相同。我在这个网站上寻找答案,但没有成功 素面: <p:calendar value="#{securityForecastReturnBean.date}" mode="inline" onSelectUpdate="inputsGrowl" selectListener="#{securityFo

我刚开始使用PrimeFaces,无法找出我的代码有什么问题。除了bean名称之外,它与showcase示例完全相同。我在这个网站上寻找答案,但没有成功

素面:

<p:calendar value="#{securityForecastReturnBean.date}"
                    mode="inline" onSelectUpdate="inputsGrowl"
                    selectListener="#{securityForecastReturnBean.handleDateSelect}"
                    required="true" />
}

这应该是非常简单的,但它是说我的bean没有这个属性

以下是确切的错误消息:

javax.servlet.ServletException: /security_page.xhtml: The class 'com.ls.forecast.webui.beans.SecurityForecastReturnBean' does not have the property 'handleDateSelect'.
javax.faces.webapp.FacesServlet.service(FacesServlet.java:325)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:546)
com.sun.faces.application.view.JspViewHandlingStrategy.executePageToBuildView(JspViewHandlingStrategy.java:363)
com.sun.faces.application.view.JspViewHandlingStrategy.buildView(JspViewHandlingStrategy.java:154)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:100)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
我使用的是PrimeFaces 2.2.1


任何帮助都将不胜感激

这看起来可能是文档中的错误:

从Primefaces指南2.2:

Ajax选择 Calendar支持即时ajax选择,这意味着无论何时在服务器端选择日期 selectListener可以使用org.primefaces.event.DateSelectEvent实例作为 参数可选的onSelectUpdate选项允许更新页面上的其他组件


公共无效handleDateSelect(日期选择事件){
日期=event.getDate();
//添加facesmessage
}

在编程上,它似乎期望托管bean上有一个属性。您可以尝试将其更改为此,并查看它是否会产生影响
{calendarBean.handleDateSelect()}
。您是否绝对确定没有引用标记中的其他位置的
HandleDate选择?
我解决了我的问题。这与使用错误的名称空间有关。我不得不用它来代替旧的

PrimeFaces Showcase中给出的源代码示例是错误的。该方法不应采用org.primefaces.event.SelectEvent,而应采用org.primefaces.event.DateSelectEvent。对源代码示例的快速更改如下所示:

public void handleDateSelect(DateSelectEvent event) {  
    FacesContext facesContext = FacesContext.getCurrentInstance();  
    SimpleDateFormat format = new SimpleDateFormat("d/M/yyyy");  
    facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Date Selected", format.format(event.getDate())));  
}

谢谢你的回复。我尝试添加括号,如
securityforecasterneturnbean.handleDateSelect()
,但运气不好:相同的错误消息。我还确信我没有在任何其他标记上引用handleDateSelect方法,因为它是唯一调用它的地方。
   <p:calendar value="#{calendarBean.date}" onSelectUpdate="messages"
       selectListener="#{calendarBean.handleDateSelect}" />
         <p:messages id="messages" />

    public void handleDateSelect(DateSelectEvent event) {
        Date date = event.getDate();
        //Add facesmessage
    }
public void handleDateSelect(DateSelectEvent event) {  
    FacesContext facesContext = FacesContext.getCurrentInstance();  
    SimpleDateFormat format = new SimpleDateFormat("d/M/yyyy");  
    facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Date Selected", format.format(event.getDate())));  
}