|
|
|
Заполнение формы в jsp
|
|||
|---|---|---|---|
|
#18+
Существует jsp, которая содержит форму, она используется как для добавления новых записей, так и для редактирования уже существующих. После редактирования, данные проходят проверку, и если все ОК, то сохраняются в базу, если есть ошибки, то форма заполняется уже введенными данными, и пользователю предлагается исправить ошибки. Две одинаковые формы делать не хочется, но как привязать форму одновременно к bean и к request придумать не могу. Подскажите, пожалуйста, как это сделать максимально ловким способом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 15:38:10 |
|
||
|
Заполнение формы в jsp
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 15:49:39 |
|
||
|
Заполнение формы в jsp
|
|||
|---|---|---|---|
|
#18+
Я так понимаю, у вас три состояния формы: 1. Ввод новых данных; 2. Редактирование данных; 3. Редактирование данных с ошибками. Пусть будут сущности 1. Создать компонент со списком ошибок errors (List<String>, самое простое). 2. Bean - как параметры запроса (сессии). Тогда на JSP страницы делаем следующую логику: 1. Выводим все ошибки, если список есть. 2. Если bean уже есть, заполняем поля формы. То есть получаем, что в блоке ошибок осуществляется проверка на errors != null, и если так - формируем список ошибок. С bean сложнее, придется проверять bean != null для каждого поля. Но можно создать пустой bean, и использовать его (поля у которого проинициализированны пустыми значениями). PS wicket с этим справляется на ура. Возможно и другие фреймворки тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 15:52:52 |
|
||
|
Заполнение формы в jsp
|
|||
|---|---|---|---|
|
#18+
Проблема в том что если данные введены некорректно, то мы не сможем создать bean. Например, при неправильном формате числового значения. В данный момент я передаю HashMap<String,String> в jsp. Но при таком способе для bean приходится писать метод преобразующий поля в HashMap. А это не очень красиво выглядит, плюс при добавлении полей приходится менять этот метод. Есть чувство, что существует более элегантный способ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 16:00:07 |
|
||
|
Заполнение формы в jsp
|
|||
|---|---|---|---|
|
#18+
посмотри какой-нибудь валидатор, если в твоем MVC фреймворке нету своего... К примеру, очень хорош http://jakarta.apache.org/commons/validator/ умеет работать с бинами с том числе, там посмотришь как можно сделать удобно. Кстати, там есть и JS-ник в комплекте, чтобы валидацию на клиенте делать, а не на сервере ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 17:48:03 |
|
||
|
Заполнение формы в jsp
|
|||
|---|---|---|---|
|
#18+
pa100rПроблема в том что если данные введены некорректно, то мы не сможем создать bean. На самом деле можем. При создание поля, они проинициализированны нулевыми объектами. Например, при описание человека. Пока писал, придумал - можно создать методы getValueAsString. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 18:26:25 |
|
||
|
Заполнение формы в jsp
|
|||
|---|---|---|---|
|
#18+
Всем спасибо большое! Пока сделал по тупому, с преобразованием bean в HashMap. Попробую напрыгнуть на validator теперь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 18:36:31 |
|
||
|
Заполнение формы в jsp
|
|||
|---|---|---|---|
|
#18+
а если скоуп сессион на форму поставить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 18:48:02 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34286398&tid=2146825]: |
0ms |
get settings: |
18ms |
get forum list: |
28ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
62ms |
get topic data: |
19ms |
get forum data: |
5ms |
get page messages: |
82ms |
get tp. blocked users: |
3ms |
| others: | 297ms |
| total: | 528ms |

| 0 / 0 |
