我有一个页面的index.jsf,我是使用ui:包括页眉和页脚,我想在内容中动态查看,这意味着当用户点击注册链接只是内容改变页眉和页脚没有改变
我想象我的代码示例是:
<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但是我想使用漂亮的url而不是旧的方式,例如:
http://localhost/index/a我该怎么做(这意味着使用漂亮的面孔,以及我如何使用if-else来做什么?)我可以在这里解释上面的问题,而不是上面我使用if("page"=a),如果我使用老方法粘贴参数url http://loalhost/index.jsf?page=a,但是如果我使用更漂亮的url或漂亮的faces,我该如何处理if-else语句?如果(??= a)
2个问题请帮我谢谢
==========================================================现在我设置了Prettyfaces,并且工作得很好,但是我不知道如何从Prettyfaces获取参数,在Prettyfaces-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作为动态子视图
<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;
}
}但我不能在一个页面中更改动态页面视图内容
发布于 2011-12-25 18:25:02
如果我没理解错你的问题,你的问题与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的很棒的文章。
https://stackoverflow.com/questions/3941347
复制相似问题