如何在DateField中设置默认日期?

时间:2015-10-12 14:27:30

标签: java jquery jquery-plugins tapestry

在我的ActivitiesFilterControl组件中,我有两个DateField,其中(.tml文件中的int)在fieldset部分内:

<fieldset class="float_right">

  <t:label for="dateFrom">${message:search.form.label.dateFrom}</t:label>
  <t:datefield t:id="dateFrom" t:mixins="jquery/CustomDatepicker" t:value="dateFrom"
               t:params="calendarParams.params" format="prop:calendarParams.dateFormat" messages="messages" class="datepicker"/>

  <t:label for="dateTo">${message:search.form.label.dateTo}</t:label>
  <t:datefield t:id="dateTo" t:mixins="jquery/CustomDatepicker" t:value="dateTo"
               t:params="calendarParams.params" format="prop:calendarParams.dateFormat" messages="messages" class="datepicker"/>

</fieldset>

CustomDatepicker就是这个: http://tapestry5-jquery.com/mixins/docscustomdatepicker

如何将默认值设置为CustomDatepicker s / DateField?以下是组件的示例代码:

public class ActivitiesFilterControl extends FilterControl {

  @Persist
  @Property
  private Date dateFrom;

  @Persist
  @Property
  private Date dateTo;

  @InjectComponent("dateFrom")
  private DateField dateFromField;

  @InjectComponent("dateTo")
  private DateField dateToField;

}

1 个答案:

答案 0 :(得分:2)

只需初始化您的组件的渲染阶段字段,例如通过设置渲染注释方法:

@SetupRender
final void init() {
    dateFrom = new Date(); // or sthg else
    dateTo = new Date(); // or sthg else
}

(无需在java类中注入嵌入式组件 - 属性&#34; dateFromField&#34;以及&#34; dateToField&#34;您的代码)

您用于CustomDatepicker mixin的calendarParams参数的params属性也是如此:您可以在同一位置初始化它。

这告诉Tapestry用于生成发送回浏览器以供显示的HTML页面的初始值。

注意:关于表单字段值&#34; dateFrom&#34; &安培; &#34; dateTo&#34;,如果在检测到验证错误后重新显示页面,则@SetupRender方法中设置的这些值可能会被验证跟踪器记忆的值覆盖。< / p>