数据库里的字段"出生日期"birth是Date类型
struts2取得后直接输入的是英文日期
使用标签<s:date>如下:
<s:date name="Birth" format="yyyy-MM-dd" id="date" /> 
<s:property value="date" /> 
可以在JSP页面显示类似:1999-01-03 的日期格式..现在我要在JSP页面点击,对日期进行修改
jsp页面代码是:
<s:date name="Birth" format="yyyy-MM-dd" id="date" /> 
<s:textfield name="date"></s:textfield>
action是:
this.setBirth(student.getBirth());
jsp取得1999-01-03 ,改成2011-05-03 
提交表单后数据没有改变...把<s:textfield name="date"></s:textfield>
改成<s:textfield name="Birth"></s:textfield>
在jsp取得类似5/1/09 12:00:00 上午.000的日期格式,改成7/2/11 12:00:00 上午.000
提交表单后可以改变数据....
我如何可以在取得格式为yyyy-MM-dd的日期并成功修改..
给位大神如果要获取并修改数据库里的date类型数据,应该怎么设计???

解决方案 »

  1.   

    我写的时候是在程序里面是String,数据库里面也是String类型,然后,使用My97Date日期控件(这个控件生成的日期类型就是string),或者自己编写个程序生成日期都可以啊。
    <script type="text/javascript" src="/bookRoom/js/My97DatePickerBeta/My97DatePicker/WdatePicker.js"></script>使用的时候是:
    <input type="text" id="bookDay" name="bookDay" size="40px" onfocus="WdatePicker({skin:'default',dateFmt:'yyyy-MM-dd'})" class="Wdate" />注意name="bookDay"和action里面用来接收数据的bookDay保持一致,写个getter、setter方法,在action的方法里面写上:
    ReserveBean rBean = new ReserveBean();//ReserveBean是我接收数据的bean
    rBean.setBookDay(bookDay);这样就可以了。如果数据库里面一定要是Date类型的话,在和数据库进行操作的代码里改下类型就可以了。
      

  2.   

    后台存储之前做个格式转换, 
    SimpleDateFormat sdf =   new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " );
    日期格式定义成你自己的。
    日期转字符串:
     String str = sdf.format(new Date());
    字符串转日期:
     Date date = sdf.parse( " 2008-07-10 19:20:00 " );calendar也不错,不过没必要用,上面的完全可以满足你的需要。