как использовать симпатичное лицо с jsf

Я хочу переписать 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 или праймфейсах?


person Ramakrishna    schedule 27.05.2014    source источник


Ответы (1)


Вероятно, вам просто нужно использовать косую черту в вашем идентификаторе представления:

<url-mapping id="CODE">
    <pattern value="/" />
    <view-id value="/page2.xhtml" />
</url-mapping>

Использование значения view-id page2.xhtml не будет понятно. Должно быть /page2.xhtml

person Lincoln    schedule 28.05.2014
comment
это не сработает, если я укажу, что это не переход на page2.xhtml - person Ramakrishna; 29.05.2014
comment
Не уверен, что вы имеете в виду. - person Lincoln; 02.06.2014
comment
приведенная выше конфигурация не работает, мне нужно что-то вернуть из метода... - person Ramakrishna; 23.06.2014
comment
да. Вам нужно вернуть /page2.xhtml?faces-redirect=true - person Lincoln; 24.06.2014
comment
Вы также можете вернуть org.ocpsoft.rewrite.faces.navigate.Navigate.to("/page2.xhtml"); - person Lincoln; 24.06.2014