我正在尝试编写这样的复合组件

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<t:container xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd" xmlns:p="tapestry:parameter">
    <t:select t:id="yearField" t:value="year" t:blankOption="always" t:model="yearModel" class="select"/>
    <t:select t:id="monthField" t:value="month" t:blankOption="always" t:model="monthModel" class="select"/>
</t:container>

这样我就可以这样使用
<t:dateselector t:value="testDate"></t:dateselector>

但是我找不到用于获取单个元素和构造date元素的确切方法。有任何想法吗?

最佳答案

您必须在parameter中添加value类型的Date component class以及yearmonth属性的getter和setter:

public class MyDatePicker {
   @Parameter
   private Date value;

   public Integer getYear() { ... }
   public void setYear(Integer year) { ... }
   public Integer getMonth() { ...}
   public void setMonth(Integer month) { ... }

}

您可以使用Java的Calendar或性能优越的Joda Time来获取/设置日期值的不同部分。

07-24 20:00