Неверный вывод из типа даты JSTL - PullRequest
0 голосов
/ 23 декабря 2018

Я строю проект в Spring MVC и хочу включить для пользователя средство выбора даты, но представленная дата всегда неверна.

Пример ввода - 12/06/2018

Вывод, который я получил - «Среда 12 февраля 00:00:00 EET 195», «Сб 12 февраля 00:00:00 EET 169»

     <form:form method="POST" modelAttribute="${AttributeNames.DATE}">
       <table align="center" >
        <tr>
            <td><label>Date</label></td>
            <td>
                <form:input type="date" path="date"/>
            </td>
        </tr>
       </table>
     </form:form>

Контроллер:

    @InitBinder
    public void bindingPreparation(WebDataBinder binder) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd- 
        yyyy");
        CustomDateEditor orderDateEditor = new 
        CustomDateEditor(dateFormat, true);
        binder.registerCustomEditor(Date.class, orderDateEditor);

    }
      //localhost:8080/project/deadline

    @GetMapping(Mappings.DEADLINE)
    public String getDeadline(Model model){
    log.info("getDeadline called");
    DateModel dateModel = new DateModel();
    model.addAttribute(AttributeNames.DATE, dateModel);
        return ViewNames.DEADLINE;
    }
    @PostMapping(Mappings.DEADLINE)
    public String postDeadLine(@ModelAttribute(AttributeNames.DATE) DateModel dateModel) {
        log.info("postDeadline called with date  = {}", dateModel.getDate().toString());
        bookService.setDeadLine(bookId, dateModel.getDate());
        return "redirect:/" + Mappings.BOOKS;
    }

DateModel:

  @Data
 public class DateModel {

@DateTimeFormat(pattern = "MM-dd-yyyy")
private Date date;

public DateModel(Date date) {
    this.date = date;
}

public DateModel(){
    this(null);
}
}

Constants : 
    Mappings.DEADLINE = "deadline"
    ViewNames.DEADLINE = "deadline"
    AttributeNames.DATE = "dateModel"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...