不同的URL映射到相同的xhtml文件

时间:2014-06-25 09:46:37

标签: jsf jsf-2

使用jsf 2.x我想使用像

这样的网址
../admin1.xhtml  
../admin2.xhtml  
../admin3.xhtml  

应该都调用相同的xhtml文件(generic.xhtml),但是使用这样的参数:

../generic.xhtml?page=admin1  
../generic.xhtml?page=admin2  
../generic.xhtml?page=admin3  

而不是创建大量无用的相同xhtml文件来提供请求。我怎样才能更好地实现jsfs?我是否必须编写xml的加载,或者我可以在faces-config.xml中创建一个简单的规则,还是应该使用其他一些工具?

1 个答案:

答案 0 :(得分:0)

利用PrettyFaces网址漂亮。首先,它将允许您删除文件扩展名,这被认为是最佳做法(您可以在不更改URL本身的情况下更改后端框架)。

除此之外,还有机会将参数本身集成到url中:

<!-- Maps "/admin/#{page}" to the URL "/generic.xhtml?page=value" -->
<url-mapping id="admin-view">
    <pattern value="/admin/#{page}" />
    <view-id value="/generic.xhtml" />
</url-mapping>

所以你可以输入:

/admin/admin1

这将驱使你:

/generic.xhtml?page=admin1