Подтвердить что ты не робот

Как отключить ViewState?

Я вхожу в мир Java из MS и ASP.NET и ищет аналогичную компонентную HTML-структуру ASP.NET на Java. После просмотра тонны ссылок в Интернете, похоже, что JSF2 (с facelets) лучше всего подходит (это правда кстати? Или есть другие лучшие варианты?).

Проблема, с которой я сейчас сталкиваюсь во время оценки, - правильное использование состояния представления JSF. Моим окончательным сценарием использования будет кластеризованный WEB-сервер, и я НЕ собираюсь иметь какие-либо объекты, связанные с сеансом/сервером, и я НЕ собираюсь использовать пропускную способность сети для фиктивного состояния представления (см. Другой вопрос, связанный с несколькими людьми здесь Настройка JSF).

Я взял некоторый учебник JSF2 и после установки javax.faces.STATE_SAVING_METHOD = клиент получил ViewState, сгенерированный в HTML из 440 символов (omygod, страница содержит только 1 фиктивный ввод текста и 1 кнопку отправки). В "POST on submit" мне нужен только текст с текстового ввода (10 символов), а не состояние фиктивного представления (440 символов).

Итак, вопрос: Можно ли отключить состояние просмотра в JSF2?

Соответствующие ссылки:

Обновление: релевантные ссылки (из комментариев ниже):

4b9b3361

Ответ 1

JSF - это основа, основанная на компонентах, которая сильно зависит от состояния - поэтому вам нужно состояние где-то, отправленное клиенту по проводке и отправленное снова или на стороне сервера. Поэтому AFAIK ответ "Нет", вы не можете отключить состояние "Просмотр". Но вы можете свести его к минимуму, но какое-то состояние всегда нужно хранить. Эта ссылка имеет значение.

Если вы ищете веб-инфраструктуру Java, которая не настолько устойчива к состоянию, то, возможно, посмотрите на некоторые основанные на Action фреймворки, такие как Struts или Stripes, поэтому вы можете работать в области запроса и не нуждаться в дереве компонентов (или перестроенном) на обратной передаче. Рамка Play набирает хорошую прессу, которая специально предназначена для таргетинга на архитектуры RESTful. У меня нет опыта в этом, но вы можете исследовать его. С сайта Play:

Простая архитектура MVC без состояния

У вас есть база данных с одной стороны и веб-браузер с другой. Зачем если у вас есть состояние между ними?

Полноценные и основанные на компонентах Java Web-структуры упрощают автоматически сохранять состояние страницы, но это приносит много других проблемы: что произойдет, если пользователь откроет второе окно? Что, если пользователь нажимает кнопку "Назад" браузера?