在前台需要传一个开始时间,和结束时间。格式:yyyy-MM-dd
提交到homeworkaction中:
HomeworkAction.java //传递作业信息
private Timestamp beginTime;
private Timestamp endTime;
// private String beginTime;
// private String endTime;
private String course;
private String title;
private String content;
//setter getter
今天测试的时候说发生错误了:说string无法转化到timestamp。但是比较奇怪的是这部分刚完成的时候是可以的:如图
难道struts2不能帮我把合法格式的string转化成timestamp吗?

解决方案 »

  1.   

    奇怪,时间格式你为什么要用string啊?data不行吗?
      

  2.   


    是从表单传过去的啊
    <input type="text" name="beginTime"/>
    <input type="text" name="endTime"/>
      

  3.   

    可以用SimpleDateFormat把字符类型转换成后台需要的时间类型
      

  4.   

    你要在程序转呢,就用SimpleDataFormat就能达到了,具体操作步骤
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:MM:SS");
      

  5.   


    需要我自己转化吗?
     
    比如我要后台接受一个double m
    我传过去的m只要格式正确,struts不是自己会转成double吗?m=123.456.234  这样传才会后报错啊:
    No result defined for action com.xxx.xxAction and result input
      

  6.   

    struts没有这么先进,帮你自动转,手动转又不麻烦
      

  7.   

    我看了你的代码中对时间的定义是“时间戳”TimeStamp格式的,数据库中这种格式的字段可以直接写入String类型的数据的...这个也是最近项目中发现的,lz可以试试。如果实在不行了就再写一个工具类用SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:MM:SS")来专门处理接收到的String类型参数。
      

  8.   


    谢了。
    持久层用的hibernate,只有用hql语句才行啊,直接xx.save()还是得把他转化成timestamp