Перенаправление JSF 2.0 с параметрами
Вопрос
В моем приложении Java EE есть администрирование статей.Есть URL-адрес типа http://localhost:8080/articles/detail.xhtml?article=70
где статья означает идентификатор статьи.На этой странице отображаются комментарии к статьям и т. д.это не важно.Но есть кнопка «Редактировать», и я хотел бы перенаправить на страницу edit.xhtml, но пользователь все равно должен видеть http://localhost:8080/articles/detail.xhtml?article=70
потому что я не хочу, чтобы страница редактирования была доступна для закладок.
Можете ли вы помочь мне, как настроить Face-config для изменения страницы, но не URL-адреса?Я подумал, что если я не напишу <redirect />
тогда URL останется прежним, но я ошибался.URL-адрес изменится с detail.xhtml?article=70
к detail.xhtml
Спасибо за любой совет.
Решение
Я бы предложил использовать некоторые аяксические возможности, чтобы не запускался синхронный запрос.
<h:panelGroup id="article" layout="block">
<h:panelGroup rendered="#{!bean.editmode}">
View article (can if necessary be an ui:include)
<h:form>
<h:commandButton value="Edit" action="#{bean.edit}">
<f:ajax render=":article" />
</h:commandButton>
</h:form>
</h:panelGroup>
<h:panelGroup rendered="#{bean.editmode}">
Edit article (can if necessary be an ui:include)
<h:form>
<h:commandButton value="Save" action="#{bean.save}">
<f:ajax render=":article" />
</h:commandButton>
</h:form>
</h:panelGroup>
</h:panelGroup>
Бин:
private boolean editmode;
public void edit() {
this.editmode = true;
}
public void save() {
this.editmode = false;
}
public boolean isEditmode() {
return editmode;
}