| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Spring MVC |
| Автор: Slanix 8.8.2007, 15:05 | ||||
| Бьюсь уже целый день. В общем надо отобразить поле команды типа Date в определённом формате в <form:input>. Подробнее: Есть
Есть форм-контроллер в initBind зарегистрирован customEditor
Показать не проблема, проблема, что бы при этом продолжал работать BindError, который в случае неправильного формата введенной даты выдаем сообщение об ошибке и оставляет значение в input-е. |
| Автор: Tony 8.8.2007, 20:42 | ||
|
| Автор: Slanix 9.8.2007, 07:01 |
| У меня это самое и есть. Но это применительно для биндинга пользовательской строки, которую он ввел на форме, на поле формбина. А мне необходимо, что бы на форме отображалась дата в нужном мне формате. Сейчас же она отображается в фомате MM-dd-yyyy hh:mm:ss |
| Автор: Tony 9.8.2007, 11:42 |
| Тоесть как сделать лоад в правельном формате? А каким ты контролом выводишь дату? |
| Автор: Slanix 9.8.2007, 12:12 |
| <form:input> Я в принципе понял, что он использует то, что есть initBinder. Но если, я ушёл с этой формы (и соответствующий контроллер) на другую (там другой контроллер) и потом с той другой возвращаюсь на 1-ю, то initBinder для этой команды уже не срабатывает. |
| Автор: Tony 9.8.2007, 23:25 |
| А ты пробывал добавить такойже биндер во 2 контоллер ? A 4то если свой контрол типа <d: property="eeeee" format="dd-MM-yyyy" /> ? А вообще возмможно ли селать биндер для всех контроллерров (без копирования initBinder())? |
| Автор: Slanix 10.8.2007, 09:38 |
| Там примерно так работает: - Для форм-контроллера есть форм-бин - В initBinder регистрируется CustomEditor для полей форм-бин с типом Date - это всё запихивается в BindException - и при показе формы она для тэга <form:input path="xxx"> и xxx смотрит в BindException и форматирует вывод с соответствии с лежащим там CustomEditor-ом Таким образом, если я в mav положит мой бин и делаю форвард на jsp которая отображает этот бин, то в том контроллере из готорого я форвардю нет нужного мне CustomEditor , т.к. там был свой форм-бин. Сорри если получилось запутанно. |
| Автор: Tony 10.8.2007, 12:57 |
| А что если создать customBinder для всех бинов ? Посмотри ету ветку правда пока у меня не полу4илось. http://www.tzavellas.com/techblog/2006/06/11/using-javautildate-values-in-spring-bean-definitions/ |
| Автор: Slanix 13.8.2007, 13:03 |
| Идея хорошая, но контроллеры могут быть разными (в которых нет initBinder-а). |
| Автор: Tony 13.8.2007, 22:40 |
| А ты собмитишь фо4мочки в контроллерты не расширяющие CancellableFormController i SimpleFormController ? |
| Автор: Slanix 15.8.2007, 11:52 |
| Tony, там все просто оказалось. Надо читать JavaDoc внимательнее. http://www.springframework.org/docs/api/org/springframework/web/bind/ServletRequestDataBinder.html В общем там всё понятно. Только конструктор использую ServletRequestDataBinder(Object target, String objectName), где objectName - это commandName. а то по дефолту у него "command". |