【问题标题】:rich:calendar value does not change in beanrich:calendar 值在 bean 中没有变化
【发布时间】:2019-06-05 03:34:11
【问题描述】:

我有以下 xhtml sn-p,其中有两个 rich:calendar(简单来说就是搜索的日期范围):-

    <h:panelGroup>
            <h:outputText value="#{msg['lblstrtdteh']}" />
            <h:outputText value="   *" escape="false" styleClass="reqField" />
        </h:panelGroup>
        <rich:calendar id="startDateFldVhrs" datePattern="dd-MM-yyyy" locale="#{sessionBean.locale}"
            value="#{productsBean.startDate}" />

        <h:panelGroup>
            <h:outputText value="#{msg['lblenddteh']}" />
            <h:outputText value="   *" escape="false" styleClass="reqField" />
        </h:panelGroup>
        <rich:calendar id="endDateFldVhrs" datePattern="dd-MM-yyyy"
            value="#{productsBean.endDate}" />

这是我的 bean 的访问器:-

    /**
 * 
 * @return
 */
public Date getStartDate() {
    return startDate;
}

/**
 * 
 * @param startDate
 */
public void setStartDate(Date startDate) {
    this.startDate = startDate;
    System.out.println("setting startDate: " + startDate);
}

/**
 * 
 * @return
 */
public Date getEndDate() {
    return endDate;
}

/**
 * 
 * @param endDate
 */
public void setEndDate(Date endDate) {
    this.endDate = endDate;
    System.out.println("setting endDate: " + endDate);
}

当我选择与显示不同的日期时,我看不到 setter 方法的打印,也不会在触发搜索按钮时获取显示的值(两个日期都在搜索命令按钮中执行)。 我错过了什么?

这些字段是用new Date() 初始化的,它似乎永远保持这种状态。

【问题讨论】:

    标签: jsf


    【解决方案1】:

    在 JSF 中,只有在调用操作时才会调用 set 方法,例如在渲染或处理字段时、将数据 POST 到服务器时、调用某些 AJAX 时。

    如果你想让你的 rich:calendar 调用你的 set 方法,你会显示执行一些 AJAX 并更新你的字段。

    Richfaces

     <a4j:form>
          <rich:calendar value="#{bean.date}" id="myCalendar">
              <a4j:support event="onchanged" reRender="myCalendar" ajaxSingle="true"/>
          </rich:calendar>
     </a4j:form>
    

    Richfaces 4.X +

    <rich:calendar id="myCalendar">
        <a4j:ajax event="change" execute="myCalendar" />
    </rich:calendar>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      • 2012-10-30
      • 2021-10-17
      • 2012-07-16
      • 2023-03-02
      • 2018-04-11
      • 2020-07-31
      相关资源
      最近更新 更多