JavaScud | Forum | JIRA | Blog |
  Dashboard > StrutsImprovement > ... > rapid-framework > date_special_handle
  StrutsImprovement Log In View a printable version of the current page.  
  date_special_handle
Added by badqiu, last edited by badqiu on Jul 31, 2008  (view change)
Labels: 
(None)

特性

  1. 日期转换通过java代码控制,提供编译检查
  2. My97DatePicker集成,一个非常强大的日期控件

问题

通常我们的数据类型转换只需对string => date需要特殊处理,而string => int,string => float等直接通过struts等自动转换就行了.
而为了一个日期的转换我们需要写一个配置文件,我们还不如将其放在java代码中,还可以提供 编译检查 .

解决

我们通过在hibernate的entity类中增加了日期的代理方法,以下为转换birthDate示例

//日期转换的格式通过FORMAT_BIRTH_DATE常量控制
	public static final String FORMAT_BIRTH_DATE = "yyyy-MM-dd"; 
	@Transient
	public String getBirthDateString() {
		return convertDate2String(getBirthDate(), FORMAT_BIRTH_DATE); //代理方法getBirthDate()方法
	}
	public void setBirthDateString(String value) {
		setBirthDate(convertString2Date(value, FORMAT_BIRTH_DATE)); //代理setBirthDate()方法
	}
	@Column(name = "birth_date", unique = false, nullable = false, insertable = true, updatable = true, length = 19)
	public java.sql.Timestamp getBirthDate() {
		return this.birthDate;
	}
	public void setBirthDate(java.sql.Timestamp value) {
		this.birthDate = value;
	}

然后再在我们的jsp页面也以 birthDateString 为key,而不直接使用 birthDate ,这样实际的转换就作为我们的java代码来控制

<!-- 
onclick部分为与My97DatePicker集成的部分,可以直接引用我们的FORMAT_BIRTH_DATE常量,提供编译检查.
-->
   <s:textfield key="birthDateString"  onclick="<%="WdatePicker({dateFmt:'"+Blog.FORMAT_BIRTH_DATE+"'})"%>"></s:textfield>
Site running on a free Atlassian Confluence Open Source Project License granted to WebWork China. Evaluate Confluence today.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.5.3 Build:#808 May 29, 2007) - Bug/feature request - Contact Administrators