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

标签 java jquery jquery-plugins tapestry

在我的 ActivityFilterControl 组件中,我有两个 DateField,它们(在 .tml 文件中)位于 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

如何为 CustomDatepickers/DateFields 设置默认值?以下是该组件的示例代码:

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;

}

最佳答案

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

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

(无需在 Java 类中注入(inject)嵌入组件 - 代码的属性“dateFromField”和“dateToField”)

对于用于 CustomDatepicker mixin 的 params 参数的 calendarParams 属性,同样的事情:您可以在同一位置初始化它。

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

注意:关于表单字段值“dateFrom”和“dateTo”,在 @SetupRender 方法中设置的这些值可能会被验证跟踪器存储的值覆盖,以防重新设置。检测到验证错误后显示页面。

关于java - 如何在 DateField 中设置默认日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33083657/

相关文章:

jquery ui Button() 不是一个函数

javascript - 将样式添加到 textarea 的特定行

javascript - Jquery Flot 图表标签未显示

java - 如何将oracle jdbc驱动程序依赖添加到JIRA插件?

java - 空字符串解析ntpq命令结果

jquery - 使用jquery将内容与tinymce中的rtl对齐

jQuery.Cycle - 在同一容器上使用两种不同的效果

jquery - 我在这个 jQuery Masonry 实现中缺少什么?

java - 为什么这个带有 "+ +"的 Java 代码可以编译?

java - 使用 android volley 迭代来自 url 的 JsonArray 响应