Рассматривается ли проверка компонентов в JSF на стороне сервера? - PullRequest
0 голосов
/ 06 июля 2018

Я занимаюсь разработкой небольшого приложения-интерфейса с JavaServer Faces, мне нужно реализовать проверку на стороне клиента и на стороне сервера. Я использую также Prime Faces, этот фреймворк, который имеет проверку на стороне клиента и проверку Bean. Мои вопросы таковы:

Является ли валидация компонента объектом проверки на стороне сервера, поскольку данные пользователя проверяются в компоненте поддержки (управляемый компонент) или из-за того, что JSF работает как модель MVC во внешнем интерфейсе, это не считается частью сервера, и следует использовать другие методы.

Предположим, что проверка Бина не является надлежащей проверкой на стороне сервера, каковы наилучшие способы реализации проверки на стороне сервера.

Любые советы и разъяснения приветствуются.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

«Bean validation» - это правильная проверка на стороне сервера, которая является одной из нескольких проверок, которые вы можете использовать в JSF. JSF уже давно имеет свои собственные валидации в представлении, но с тех пор, как была введена JSR-303, валидация Bean, она также поддерживается, и многие валидации можно было бы удалить из «представления» модели.

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

Поскольку не все можно (легко) сделать в JSF-303, иногда все же необходимо проводить дополнительные проверки в конкретных JSF.

Проверка на стороне клиента PrimeFaces должна рассматриваться как дополнение к проверкам на стороне сервера, она не заменяет их. Он может использовать многие из существующих проверок JSF и JSR-303 и автоматически выполнять их на стороне клиента без какой-либо работы с вашей стороны. Для более сложных проверок необходимо разрабатывать пользовательские проверки на стороне клиента так же, как и на клиентских платформах.

Из документации PrimeFaces:

Платформа PrimeFaces Client Side Validation (CSV) является наиболее полной и передовое CSV-решение для JavaServer Faces и Java EE. CSV Поддержка JSF - непростая задача, она не так проста, как интеграция Сторонний плагин javascript, поскольку JSF имеет свой жизненный цикл, концепции как преобразование, а затем проверка, частичная обработка, FaceSMessages и многое другое. Реальный CSV для JSF должен быть совместим со стороной сервера реализация должна делать то, что делает JSF, чтобы пользователи не испытайте различия в поведении на стороне клиента и на стороне сервера.

  • Совместимо с реализацией на стороне сервера.
  • Преобразование и проверка происходит на стороне клиента.
  • Частичная поддержка процесса и обновления для Ajax.
  • Поддержка I18n вместе с сообщениями, специфичными для компонентов.
  • Рендереры на стороне клиента для компонентов сообщений.
  • Легко написать пользовательские конвертеры и валидаторы клиента.
  • Глобальное или компонентное включение / отключение.
  • Усовершенствованная интеграция проверки компонентов.
  • Небольшое использование HTML5.

Таким образом, вопрос не в клиентской или серверной стороне, а в том, хотите ли вы / можете использовать проверки на стороне клиента для улучшения взаимодействия с пользователем, поэтому некоторые из (очень немногих) недостатков JSF (обходные пути для валидаций) ) уменьшается.

0 голосов
/ 06 июля 2018

Проверки, выполненные в Java Code (Managed Bean) на сервере, являются проверками на стороне сервера. Другим прямым средством проверки может быть f: validate ( Refer )

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