首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

基于Converter解决Struts1无法处理日期类型的有关问题

2012-10-18 
基于Converter解决Struts1无法处理日期类型的问题转自http://www.suneca.com基于Struts做应用程序开发的时

基于Converter解决Struts1无法处理日期类型的问题

转自http://www.suneca.com

基于Struts做应用程序开发的时候,对日期数据的处理,这个是最常见的,由于Struts默认是不支持自动将网页POST的数据自动转化成Date型数据,所以,很多程序员就直接在ActionForm当中直接使用String,然后在Action当中再进行字符串跟日期数据的处理。
那假如在ActionForm当中是使用Date类型呢?会出现什么问题?能用什么样的解决办法?我们先看一下在ActionForm当中会出现的问题先。
首先,我们先创建一个新的Struts工程,创建一个新的ActionForm,取名叫UserForm,UserForm的实现代码如下:

程序代码 程序代码 程序代码

提交将会报以下的错误信息:

程序代码 程序代码 程序代码package zizz.struts;

import java.util.Date;

import org.apache.struts.action.ActionForm;
import org.apache.commons.beanutils.ConvertUtils;

/**
* UserForm对应着提交页面的网页表单信息
* @author chen yuzhe
*
*/
public class UserForm extends ActionForm{
????
????static{
????????ConvertUtils.register(new DateConverter(), Date.class);
????}

????/**
???? * serialVersionUID
???? */
????private static final long serialVersionUID = -742922986494711669L;

????private int id;
????
????private String name;
????
????private int age;
????
????private String loginId;
????
????private Date birthday;

????public int getAge() {
????????return age;
????}

????public void setAge(int age) {
????????this.age = age;
????}

????public Date getBirthday() {
????????return birthday;
????}

????public void setBirthday(Date birthday) {
????????this.birthday = birthday;
????}

????public int getId() {
????????return id;
????}

????public void setId(int id) {
????????this.id = id;
????}

????public String getLoginId() {
????????return loginId;
????}

????public void setLoginId(String loginId) {
????????this.loginId = loginId;
????}

????public String getName() {
????????return name;
????}

????public void setName(String name) {
????????this.name = name;
????}
????
}

热点排行