日期问题

来源:互联网 发布:赌博源码 编辑:程序博客网 时间:2024/04/29 12:42
1.JSP页面的日期显示格式

在数据中保存date类型的数据是只显示年月日,但在所对应的JSP页面上显示的却不只是年月日。

解决方法:

在JSP页面引入标签

 <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>

然后修改所对应的列:

<fmt:formatDate value="${birthday}" pattern="yyyy-MM-dd"/>

根据你所需要的格式设置pattern中所对应的格式


2.Spring MVC中表单提交日期问题
页面向控制器传入一个包含Date类型属性的对象,但
控制器要获得一个由页面传入的包含Date类型属性的对象,但页面赋值的是字符串,会出现由String转换到Date的异常。
解决方法:
在控制器中加入下面的代码:

@InitBinder    public void InitBinder(HttpServletRequest request, ServletRequestDataBinder binder) {        // 不要删除下行注释!!!   将来"yyyy-MM-dd"将配置到properties文件中        //SimpleDateFormat dateFormat = new SimpleDateFormat(getText("date.format", request.getLocale()));        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");        dateFormat.setLenient(false);        binder.registerCustomEditor(Date.class, null, new CustomDateEditor(dateFormat, true));    }
这就解决了页面填充的对象传递到控制器的问题,然后我们要求数据库里日期的存储格式是yyyy-MM-dd,我们需要将获得的对象中日期类型的属性的值进行格式化:

@RequestMapping(value="/addGradeInfo",method=RequestMethod.POST)public String addGradeInfo(GradeInfo gradeInfo) throws JSONException{Client client = Client.create();WebResource webResource = client.resource("http://localhost:8080/jygl/jaxrs/enroll/gradeInfoService/add");DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");String enroll_beginDate = dateFormat.format(gradeInfo.getEnroll_beginDate());String enroll_endDate = dateFormat.format(gradeInfo.getEnroll_endDate());String enrollPlan_beginDate = dateFormat.format(gradeInfo.getEnrollPlan_beginDate());String enrollPlan_endDate = dateFormat.format(gradeInfo.getEnrollPlan_endDate());JSONObject objectMap = new JSONObject();objectMap.put("gradeName", gradeInfo.getGradeName());objectMap.put("enroll_beginDate", enroll_beginDate);objectMap.put("enroll_endDate", enroll_endDate);objectMap.put("enrollPlan_beginDate", enrollPlan_beginDate);objectMap.put("enrollPlan_endDate", enrollPlan_endDate);objectMap.put("fee_enroll_c", gradeInfo.getFee_enroll_c());objectMap.put("fee_enroll_m", gradeInfo.getFee_enroll_m());objectMap.put("fee_enroll_me", gradeInfo.getFee_enroll_me());objectMap.put("fee_enroll_kj", gradeInfo.getFee_enroll_kj());objectMap.put("fee_exam_c", gradeInfo.getFee_exam_c());objectMap.put("fee_exam_m", gradeInfo.getFee_exam_m());objectMap.put("fee_exam_me", gradeInfo.getFee_exam_me());objectMap.put("fee_exam_kj", gradeInfo.getFee_exam_kj());