我想要重写我项目的URL。
我正在使用primefaces。我的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>
我的sessionscoped bean类
public class Bean implements Serializable{
private AJavaClass ajavaclass=new AJavaClass();
getter and setter of ajavaclass obj...
}
我的AJavaclass
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");
}
}
这很好用。如果用户在文本框中输入CODE,则重定向到page2.xhtml。
但网址为http://localhost:8080/projectname/page2.xhtml
我想隐藏网址中的网页名称。如何使用漂亮的面孔来做到这一点。
我可能错误地配置了pretty-config.xml,这是我的配置
<url-mapping id="CODE">
<pattern value="/" />
<view-id value="page2.xhtml" />
</url-mapping>
但我需要知道 我需要从fun2返回什么? 2.fun2是不是直接处理动作操作是一个问题,如果是我怎么处理。 3.或者没有漂亮在jsf或primefaces有什么方法吗?
答案 0 :(得分:0)
您可能只需要在view-id中使用前导斜杠:
<url-mapping id="CODE">
<pattern value="/" />
<view-id value="/page2.xhtml" />
</url-mapping>
将无法理解使用page2.xhtml
的view-id值。必须是/page2.xhtml