【发布时间】:2012-03-06 12:09:08
【问题描述】:
我正在使用 RichFaces 3.3.3 并试图弄清楚如何将 Rich:Cal 的时间部分设置为当前系统日期,而不是日期模式为 dd/M/yyyy HH:mm 的默认 12:00 。我也对使用 DefaultTime 属性不感兴趣,因为它在我的情况下没有用。
所以问题是:我是否错过了它,或者当用户选择日期单元格时不可能包含当前系统时间?
2 - 如果上面的答案是不可能,那么实现这种行为的最佳方法是什么。
下面会有什么好处:
<rich:calendar id="richCal1"
value="#{cust.dateFrom1}"
datePattern="dd/M/yyyy HH:mm"
enableManualInput="true"
<f:convertDateTime pattern="dd/M/yyyy HH:mm" type="both"/>
<f:validator validatorId="#{cust.dateAppend}"/>
<f:attribute name="richCalendar" value="RichCalendar1" />
</rich:calendar>
因此,当用户选择日期时,在 Backbean 自定义验证器 dateAppend 中,我将确定触发器从 using the UIComponent.getAttributes() which for above code will be richCalendar 触发的元素,因此知道要更新哪个 backbean 变量以用系统时间覆盖默认时间。听起来很哈克,但我不知道任何其他方式,应该可以工作。
我在这里发帖,所以如果上述方法完全错误,有人可以让我知道或提供有关替代方案的建议。谢谢
更新:
上述方法不起作用,因为在更新模型而不是在应用请求阶段调用 Setter,因此在触发事件时我无法更改 backbean 变量的值。
一定有办法。任何提示将不胜感激。
【问题讨论】: