Каков наилучший подход для обработки сложной формы в HTML? - PullRequest
0 голосов
/ 02 февраля 2010

Мне нужно реализовать веб-форму (JSP, Struts) с множеством флажков и текстовых полей. По сути, у меня есть дерево из флажков, которое должно быть расширяемым (например, добавление нового узла). На другой странице те же данные используются, но уточняются. Таким образом, вы снова добавляете дочерние узлы в упомянутую структуру данных, используя текстовые поля и т. Д. Я могу описать структуру данных в XML: Но в действительности содержит около 100 строк.

Я нашел 3 подхода: 1. Создайте веб-форму в JSP, которая снижает пользовательский опыт, потому что необходимо много обратных передач (каждый раз, когда я добавляю / редактирую / удаляю узел, подузел ...) 2. сделать это асинхронно. -> загружает JavaScript для обработки структуры данных (хранит данные XML в скрытом div и обновляет пользовательский интерфейс) 3. пойти на RIA, как OpenLaszlo

Что вы предлагаете?

Ответы [ 2 ]

0 голосов
/ 02 февраля 2010

Вы можете рассмотреть рендеринг на стороне клиента.
Это позволяет создавать очень отзывчивые веб-приложения:

  • создание страниц JSP для доставки данных JSON, здесь HTML нет

  • использовать шаблонизатор javascript в браузере для преобразования данных на стороне клиента HTML. Я являюсь автором PURE , но в Интернете есть множество других, которые могут лучше соответствовать вашему стилю

  • когда пользователь печатает или нажимает "отправить", анализируйте форму, используя общий метод, который встречается во многих средах.
    т.е. атрибут "name" - это путь для установки значения в JSON. > <input name="employee.name" type="text" ... />

  • Когда форма проанализирована, отправьте JSON обратно на страницу JSP, которая прочитает ее и выполнит работу бэкэнда.

Вы можете использовать XML вместо JSON и XSLT вместо шаблонизатора JS, но если вы ориентируетесь только на веб-браузер, это добавляет дополнительный уровень сложности и проблем для анализа XML.

0 голосов
/ 02 февраля 2010

Если вы уже знаете OpenLaszlo, сделайте это. Вы получите лучший пользовательский опыт с меньшим количеством работы.

Вы должны ориентироваться на пользовательский интерфейс и производительность при разработке приложения. Итак, IMO, простой JSP будет моим последним подходом.

...