我正在尝试编写这样的复合组件
<!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以及year
和month
属性的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来获取/设置日期值的不同部分。