【问题标题】:Can not trigger the p:calendar's selectListener无法触发 p:calendar select Listener
【发布时间】:2013-04-24 10:01:37
【问题描述】:

我的代码如下:

<p:calendar showOn="button"
                  value="#{searchMB.filledFromDate}"
                  pattern="MM/dd/yyyy" maxlength="10" id="filledFromDate"
                  converter="submittedDateConverter"
                  converterMessage="#{message.filled_date_from_is_not_a_valid_date}"
                  styleClass="calendar" selectListener="#{searchMB.test}"
                  onchange="alert('')"
                  onSelectUpdate="filledToDate_panel">
                  <f:ajax event="blur" execute="filledFromDate"
                     render="filledToDate_panel"></f:ajax>
 </p:calendar>


   public void test(DateSelectEvent event) {
       System.out.println("-------------->" + event);
    }
  • 我想实现这个函数: 当我选择日历的下拉列表时,我想立即调用test 方法,将选择日期放入另一个日历输入。

    如果我不添加转换器。该方法将被触发。但是 添加 converter 后,方法 selectListener="#{searchMB.test}" 无法触发。我不知道为什么。有人可以帮助我吗?

【问题讨论】:

    标签: java jsf-2 primefaces


    【解决方案1】:

    您不应在 Primefaces 组件中使用 &lt;f:ajax&gt; 标签。

    对于许多 Primefaces 组件,您可以改用 &lt;p:ajax&gt; 标签,但对于 &lt;p:calendar&gt;,您可以改用各种不同的属性来为您提供 Ajax 功能。

    来自 Primefaces 指南 2.2

    OnSelectProcess - 选择日期时使用 ajax 处理的组件(默认值:@this)。

    以及指南中的 Ajax 选择侦听器:

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

    <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
    }
    

    我很好奇你需要转换器做什么? value 属性可以是 java.util.Date 类型的托管 bean 属性,无需显式转换器。

    【讨论】:

    • 由于一些问题,我需要使用转换器手动抛出转换器错误。
    猜你喜欢
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-10
    • 2020-04-24
    • 2015-02-07
    相关资源
    最近更新 更多