在我的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;
}
答案 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>