Поддерживает ли Java Spring 3.0 MVC проверку на стороне клиента на основе аннотаций / атрибутов, например, Asp.net MVC 2.0? - PullRequest
3 голосов
/ 17 марта 2010

В Asp.Net MVC 2.0, по крайней мере в бета-версии, вы могли бы украсить свои классы моделей атрибутами аннотаций данных и включить проверку на стороне клиента, которая использует критерии, определенные в ваших атрибутах аннотаций данных модели. Есть ли что-нибудь подобное для Java Spring MVC 3.0?

Можно ли внедрить компонент в конвейер ответа, который может проверять аннотированные свойства модели и отображать логику проверки на стороне клиента, чтобы дополнить логику проверки на стороне сервера, которая вызывается до того, как контроллер обработает запрос?

Ответы [ 5 ]

4 голосов
/ 19 марта 2010

На самом деле, есть что-то вроде , немного похожее на это, основанное на спецификации проверки компонентов JSR-303, которая теперь является окончательной и полностью поддерживается Spring 3.0 .

Недавно в рамках Spring Webflow Springsource выпустил Spring JS (javascript), в котором используется Dojo. Вы можете использовать это для проверки на стороне клиента. Ознакомьтесь с этой инструкцией

Очевидно, что компоненты-фреймворки, такие как Wicket (как упомянуто fraido), лучше поддерживают этот вид использования. Так что, если вам нужно реализовать много подобных вариантов использования, это, вероятно, лучше подходит для вашего проекта. Однако, если это происходит спорадически, валидация Spring JS / Bean может быть подходящим способом.

2 голосов
/ 17 марта 2010

В Spring MVC 3.0 на данный момент ничего подобного нет.
Как сказал выше, такие фреймворки, как Tapestry ( ex ), Wicket ( ex ) и другие, имеют своего рода клиентскую проверку, которая использует JavaScript для проверки форм и т. Д. Вы можете написать свой собственный Jstl taglib проверки, возможно, с помощью библиотеки JS ( jQuery , ...) и таких плагинов, как: Плагин проверки jQuery

edit : Я только что нашел это: Mediawidget . Может быть, стоит взглянуть.
Он говорит: «Metawidget читает аннотации Bean Validation и генерирует формы с виджеты, которые предварительно настроены на минимальные / максимальные значения, длины и т. д. "

Пружинная интеграция Link1 , Link2

2 голосов
/ 17 марта 2010

Spring MVC - довольно низкоуровневая структура. Это не распространяется на проверку на стороне клиента.

Существуют другие веб-фреймворки Java, которые делают это, например Tapestry, Wicket и JSF (IceFaces и т. Д.) Это то, что я обычно называю «компонентными структурами».

1 голос
/ 06 декабря 2011

Этот проект выглядит как раз то, что вы ищете: http://kenai.com/projects/jsr303js

2011-12-06: Я сейчас попробую сам

2013-12-09: Обновление этого ответа: я попробовал библиотеку, и она работала очень хорошо. Требовалась некоторая настройка (это прототип патча для Spring, а не готовый плагин), но это было лучшее решение, которое я мог найти в то время. Возможно, есть новое решение, или, возможно, кто-то закончил этот прототип с тех пор, как я опубликовал? Если нет, я могу порекомендовать этот.

0 голосов
/ 27 апреля 2010

Хорошо, это вариант того, что уже было сказано, но одной из сильных сторон Spring-MVC является его способность интегрироваться с другими библиотеками, например, с различными вариантами JSF, которые дают проверку на стороне клиента.

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