hibernate表单提交错误?

时间:2015-05-21 06:35:30

标签: java spring-mvc

我正在使用带有休眠的spring mvc, 当我提交表格时,它显示错误

The request sent by the client was syntactically incorrect".

这是我的表格:

        <table>
        <form:form action="save" method="post" modelAttribute="staffSchedule">
        <tr>
            <td>date:</td>
            <td><form:input path="date"/></td>
        </tr>
        <tr>
            <td>Start Time:</td>
            <td><form:input path="startTime"/></td>
        </tr>
        <tr>
            <td>End Time:</td>
            <td><form:input path="endTime"/></td>
        </tr>
        <tr>
            <td>Status:</td>
            <td>
                <form:select path="status">
                    <form:options items="${status}" />
                </form:select>
            </td>
        </tr>
        <tr>
            <td colspan="2" align="center">
                <input type="submit" value="Save">
            </td>
        </tr>           
        </form:form>

控制器代码是

@RequestMapping(value = "/save", method = RequestMethod.POST)
public ModelAndView saveUser(@ModelAttribute StaffSchedule staffSchedule) {
    staffScheduleDao.saveOrUpdate(staffSchedule);
    return new ModelAndView("redirect:/list");
}

我该怎么做才能纠正这个问题?我认为问题出在date

1 个答案:

答案 0 :(得分:0)

Spring不知道如何反序列化从前端进入的日期。 您可以使用@InitBinder格式化日期。

尝试使用类似的内容来格式化日期;

@InitBinder
public void initBinder(WebDataBinder binder) {
    SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
    sdf.setLenient(true);
    binder.registerCustomEditor(Date.class, new CustomDateEditor(sdf, true));
}

PS:示例代码取自here