Как мне сопоставить модельные компоненты для просмотра модельных компонентов в Spring MVC?

В моем приложении Spring MVC у нас есть объекты форм, которые отображаются <form:form тег в JSP. Эти объекты отделены от моей обычной модели bean-компонентов и действительно образуют своего рода модель представления. Трудность с этими объектами заключается в отображении между этими объектами и фактическими компонентами модели, ожидаемыми объектами службы. В настоящее время мы вручную пишем формы отображения кода в bean-компоненты и наоборот в контроллерах. Это менее чем оптимально из-за количества дополнительного кода, который требуется. Другие варианты, которые мы рассмотрели:

  • Напишите класс отображения. Это по-прежнему требует написания кода вручную, но по крайней мере его нет в контроллере.
    • Автоматически генерировать класс сопоставления. Предположительно, для этого потребуется вручную создать и обновить какой-либо файл сопоставления.
  • Назовите свойства в бобах и формах одинаковыми и используйте Spring BeanUtils.copyProperties перемещать их взад и вперед. Это кажется плохим, потому что это не является очевидной ссылкой, что может привести к странному поведению во время выполнения, если оно не поддерживается согласованным.
  • Напишите объект формы как фасад, который хранит бин внутри и обновляет его.

Каков наилучший метод для долгосрочного здоровья проекта выполнения этого действия?

1 ответ

Я предлагаю вам использовать dozer framework для сопоставления доменных объектов и просмотра объекта друг другу. Единственная проблема - вам все равно придется создавать класс представления вручную. Вы также можете автоматизировать это с помощью генерации кода.

Другие вопросы по тегам