Как передать объект Java Date в dojo DateTextBox через Spring MVC и обратно в Java? - PullRequest
0 голосов
/ 30 июля 2010

Интересно, как я могу передать объект Java Date из bean -> hibernate -> Spring MVC -> dojo и обратно в тот объект Date, который будет храниться в базе данных с помощью hibernate.

В классе бобов я пытался создать метод получения и установки, которые возвращают / получают строку, анализируя значение в формате, дружественном к додзё (yyyy-MM-dd). Когда дата из базы данных равна нулю, тогда проблем нет, и все работает как положено, но когда дата не равна нулю, веб-страница не может быть сгенерирована из-за ошибки _841.getMonth () не является методом. Я выяснил, что это происходит из-за значения параметра Spring формы: input ... to String в формате yyyy-MM-dd и dojo не рассматривает его как Date, но как String.

Мой код выглядит так:

<form:input path="tDate" />
<script type="text/javascript">
   Spring.addDecoration(new Spring.ElementDecoration({
      elementId : "tDate",
      widgetType : "dijit.form.DateTextBox",
      widgetAttrs : {promptMessage: "Enter a date",
                     required: "true"}
}));
</script>

и пружина преобразует форму: ввод ... во что-то вроде:

<input id="tDate" name="tDate" value="2010-07-29" />

Я был бы очень признателен, если бы вы могли предложить решение этой проблемы. Если бы можно было получить и вернуть объект Java Date для получения / возврата Date, а не String, как я делаю сейчас, это было бы идеально.

Приветствия

1 Ответ

0 голосов
/ 30 июля 2010

Добавление:

datePattern : "yyyy-MM-dd"

в widgetAttrs решило проблему.Несмотря на то, что dojo DateTextBox использует этот шаблон по умолчанию, он должен быть указан для формы: input для правильной работы.

Это решение не идеально, так как в классе beans я все еще использую getter и setter для использования String для моегоПоставьте объект Date и проанализируйте значение внутри этих методов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...