2012-04-25 2 views
0

Я пытался понять, как выполнить PRG в приложении JSF по этой ссылке https://blogs.oracle.com/enterprisetechtips/entry/post_redirect_get_and_jsf , но почему-то я запутался в трех пунктах.О PRG в JSF 2.0 и View Parameters

  1. Из блога, я вижу из поджигатель, что она выдавшего 302 и GET перенаправлять при рендеринге страницы вместо метода POST, который является PRG. Единственные изменения в блоге - это область действия компонента, связанного с областью действия запроса. SO делает ли эта ссылка, что все мои управляемые компоненты будут на уровне области запроса? Я проверяю свое приложение-образец, которое я делаю, и активно использую компоненты ViewScoped и SessionScope.

  2. Какова польза ViewParameters? Arent, что проблема безопасности, предположил, что я добавляю больше параметров строки запроса в URL? На самом деле я нахожу вариант использования, где я могу использовать такую ​​функцию.

  3. Если транзакция, которую я выполняю, не будет выполнять какой-либо транзакционный характер, такой как ADD/EDIT/DELETE, действительно ли это хорошая практика просто использовать навигацию JSF, которая является POST-запросом? Я просто хотел перейти на новую страницу.

Благодаря

ответ

1

Так ли это ссылка предположить, что все мое управляемый компонент будет на уровне Scope запроса? Я проверяю свое приложение-образец, которое я делаю, и активно использую компоненты ViewScoped и SessionScope.

Объем боба не имеет значения для самой ПРГ. Это имеет значение только для продолжительности жизни данных, которые хранится в bean-компоненте. Смотрите также How to choose the right bean scope?


Что полезность ViewParameters? Arent, что проблема безопасности, предположил, что я добавляю больше параметров строки запроса в URL? Я действительно нахожу вариант использования, где я могу использовать такую ​​функцию.

includeViewParams будет включать в себя только те параметры, которые вы вручную указанные в <f:metadata><f:viewParam>. Он не будет включать все исходные параметры запроса. Это не обязательно для самой PRG. Использовать его или нет, зависит от конкретных функциональных требований. В статье показано, что возможно скопировать все параметры вида в URL-адрес перенаправления, что может быть полезным/обязательным для некоторых функциональных требований. Смотрите также What can <f:metadata>, <f:viewParam> and <f:viewAction> be used for?


Я просто хотел, чтобы перейти на новую страницу.

Использование <h:link> вместо <h:commandLink>.

<h:link value="Go to next.xhxml" outcome="next" /> 

Смотрите также When should I use h:outputLink instead of h:commandLink?