EXTJS+STRUTS+SPRING+HIBERNATE中日期问题的处理
2008-08-19 10:08
274 查看
因项目的需要,最近在研究EXTJS和SSH框架的整合问题,主要是研究EXTJS的使用,在这过程中发现对日期问题的处理不像想象的那样顺利,现在把遇到的问题写出来,仅供参考。
通常对日期的处理有两种方法:
一种是直接在数据库中使用字符类型,这样处理在写代码的时候相对简单,但对日后数据库中的数据进行维护时可能会涉及到日期的转换,所以对开发简单,但对维护可能会增加负担,这种情况的处理不需要过多讨论。
另一种是在数据库中用日期类型,但在使用EXTJS框架时,因前后台的数据传输是靠JSON或XML这样的字串形式,所以传到前台时实际是都变成了字串,但对日期类型如果直接传到前台的话总是无法显示(具体原因暂时还没找到,在以后的使用过程中继续留意这个问题),想了很多办法,最后想到是否需要在service类中将取到的日期类型的值转换成String类型,于是便使用toString()方法转换,这样又出现了个问题,控制台提示:
[WARN ][2008-08-19 10:22:58][org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:516)]:Unhandled Exception thrown: class java.lang.NullPointerException
出现空指针异常了,通过分析发现,原来是因为有些日期为null所致,null这样的基本类型是不能使用toString()方法的,所以会报错,要使用toString()就得先对日期类型进行非null的判断,这样代码写得很冗长,于是想到另一个解决办法,对所有的日期取出来后加上""(空串),这样既解决了日期类型转换为字符串类型的问题,又不会出现空指针异常,因为null+""是没问题的。
这个问题现在看起来挺简单,但在之前的分析解决过程中,还是费了很多心思的,网上找了很多文章,很少有提到怎么对日期问题进行处理的例子(那种直接在js里写数据进行测试的例子除外,那种情况下不存在这个问题),希望以上的内容能对各位有所帮助,也是自己对处理这个问题的一个小结。
通常对日期的处理有两种方法:
一种是直接在数据库中使用字符类型,这样处理在写代码的时候相对简单,但对日后数据库中的数据进行维护时可能会涉及到日期的转换,所以对开发简单,但对维护可能会增加负担,这种情况的处理不需要过多讨论。
另一种是在数据库中用日期类型,但在使用EXTJS框架时,因前后台的数据传输是靠JSON或XML这样的字串形式,所以传到前台时实际是都变成了字串,但对日期类型如果直接传到前台的话总是无法显示(具体原因暂时还没找到,在以后的使用过程中继续留意这个问题),想了很多办法,最后想到是否需要在service类中将取到的日期类型的值转换成String类型,于是便使用toString()方法转换,这样又出现了个问题,控制台提示:
[WARN ][2008-08-19 10:22:58][org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:516)]:Unhandled Exception thrown: class java.lang.NullPointerException
出现空指针异常了,通过分析发现,原来是因为有些日期为null所致,null这样的基本类型是不能使用toString()方法的,所以会报错,要使用toString()就得先对日期类型进行非null的判断,这样代码写得很冗长,于是想到另一个解决办法,对所有的日期取出来后加上""(空串),这样既解决了日期类型转换为字符串类型的问题,又不会出现空指针异常,因为null+""是没问题的。
这个问题现在看起来挺简单,但在之前的分析解决过程中,还是费了很多心思的,网上找了很多文章,很少有提到怎么对日期问题进行处理的例子(那种直接在js里写数据进行测试的例子除外,那种情况下不存在这个问题),希望以上的内容能对各位有所帮助,也是自己对处理这个问题的一个小结。
相关文章推荐
- Hibernate/Spring/Struts架构使用OpenSessionInView的问题
- id to load is required for loading 对Struts,Hibernate,Spring整合开发中遇到问题
- struts+spring+hibernate整合出现的问题解决方法
- Struts+Spring+Hibernate开发时ASM版本冲突引起的问题
- struts-spring-hibernate 框架 action 请求 ,form 表单提交 id 重复问题
- Spring2.5、Struts2.1、Hibernate3.2、sitemesh、freemarker整合开发常见问题及解决方案
- Struts+Spring+Hibernate项目框架构建中的问题及解决方法集锦(2)
- Spring+Struts+Hibernate 架构中对Oracle9i中clob字段的处理之--新增数据篇
- Spring+Hibernate+Struts+Oracle的编码问题
- struts + spring + hibernate整合事务配置的问题(请教高手)
- Struts+Spring+Hibernate中文问题
- spring+hibernate 项目lazy = true 时 no session or session was closed 问题处理
- struts2.1+hibernate+spring 乱码处理
- Hibernate+spring+struts包冲突问题!
- struts+spring+hibernate 处理BLOB
- Struts + Spring + Hibernate + Mysql中文问题解决
- Struts + Spring + Hibernate 集成常见问题
- Spring+Hibernate+Struts程序移植Weblogic问题集
- Struts,Spring,Hibernate三大框架问题阐述
- 初学SSH(struts+spring+hibernate)的纠结问题