Я хочу переписать URL моего проекта.
Я использую праймериз. Мой файл XHTML, как показано ниже
<ui:composition template="/html/Template.xhtml">
<ui:define name="content">
<h:form id="frmId">
<p:inputtext value=#{bean.ajavaclass.variable} />
<p:commandbutton value="check" action=#{bean.ajavaclass.fun1}/>
</h:form>
</ui:define>
</ui:composition>
Мой класс bean-компонентов с областью сеанса
public class Bean implements Serializable{
private AJavaClass ajavaclass=new AJavaClass();
getter and setter of ajavaclass obj...
}
Мой AJavaкласс
public class AJavaClass implements Serializable{
private String variable;
public void fun1(){
if(variable.equals('CODE')){
fun2();
}
public void fun2(){
FacesContext.getCurrentInstance().getExternalContext()
.redirect("./page2.xhtml");
}
}
это работает нормально. если пользователь вводит КОД в текстовое поле, его перенаправляют на page2.xhtml. но адрес http://localhost:8080/projectname/page2.xhtml
я хочу скрыть имя страницы от URL. как это сделать, используя красивые лица.
я мог неправильно настроить довольно-config.xml, это моя конфигурация
<url-mapping id="CODE">
<pattern value="/" />
<view-id value="page2.xhtml" />
</url-mapping>
но мне нужно знать 1.что мне нужно вернуть из fun2? 2.fun2 не обрабатывает операцию действия напрямую, это проблема, если это то, как я могу справиться. 3.Или без симпатичных есть способы в jsf или праймфейсах?