我有一个页面index.jsf,我使用ui:include for include页眉和页脚,我想在内容中动态查看,这意味着当用户点击注册链接时内容更改页眉和页脚没有改变< / p>
我的代码样本是:
<ui:include render="#{mybean.include}"/>
在支持bean中,我的代码将:
public void getInclude(){
if("page" == a){
return "a.jsf";
}
else if("page" == b) {
return "b.jsf";
}
}
和我使用漂亮的url示例 以旧方式jsf页面将显示url
http://localhost/index.jsf?page=a or http://localhost/index.jsf?page=b
但我想使用漂亮的网址而不是旧的方式,例如:
http://localhost/index/a
我该怎么做(这意味着使用漂亮的面孔以及我如何使用if-else来做什么?) 我可以在这里解释上面的问题 而不是上面我使用if(“page”= a)如果我使用旧方式粘贴参数url http://loalhost/index.jsf?page=a 但如果我使用preter url或漂亮的面孔我会为if-else语句做什么? if(?? = a)
2个问题请帮助我谢谢你
==========================================================
现在我设置漂亮的面孔并且运作良好但我不知道如何从Prettyfaces获取参数,在Pretty-config.xml中我是配置页面跟随:
主页(内容在那里变化动态)
<url-mapping id="mainpage">
<pattern value="/home" />
<view-id>/faces/main.xhtml</view-id>
</url-mapping>
Page1
<url-mapping id="mainpage">
<pattern value="/home/#{page:content1}" />
<view-id>/faces/content1.xhtml</view-id>
</url-mapping>
第2页
<url-mapping id="mainpage">
<pattern value="/home/#{page:content2}" />
<view-id>/faces/content2.xhtml</view-id>
</url-mapping>
第一页中的我使用ui:include for dynamic subview
<ui:include src=#{bean.includePage}/>
我的bean有一个获取包含页面的方法
public String getIncludePage(){
if(page == null){
return "content.xhtml";
}
else if (page.equals(content1)){
return "content1.xhtml";
}
else if (page.equals(content2)){
return "content2.xhtml;
}
}
但我无法在一个页面中更改动态页面视图内容
答案 0 :(得分:0)
如果我理解你的问题你的问题与PrettyFaces无关。
您是否希望最终使用共享相同页眉和页脚的不同页面?在这种情况下,您应该真正了解使用Facelets进行模板化,因为这只是它的用例。
这是关于Facelets如何工作的简短示例:
template.xhtml
:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets">
<head>
<title>
<ui:insert name="title" />
</title>
<link rel="stylesheet" type="text/css" href="./css/main.css"/>
</head>
<body>
<div id="center">
<ui:insert name="title" />
<hr />
<ui:insert name="content" />
</div>
</body>
</html>
some-page.xhtml
:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<ui:composition template="/template.xhtml">
<ui:define name="title">My Page Title</ui:define>
<ui:define name="content">
<p>
This is the main content area
</p>
</ui:define>
</ui:composition>
</html>
我建议您阅读Facelets fits JSF like a glove。这是一篇关于Facelets的精彩文章。