如何重现特定的友情URL?

时间:2011-03-02 22:44:24

标签: jsf jsf-2 friendly-url prettyfaces

我们正在尝试将JSP / XSLT应用程序重构为JSF。我们使用CMS进行内容管理。技术:使用Mojarra,PrimeFaces 2.2.1和Tomcat 6.29的JSF 2.0 数据结构的组织如下: 有网站。 网站包含频道。 频道包含内容。 网站,频道和内容已翻译。

网址如下: http://whatever/firstSite http://whatever/firstSite/aChannel http://whatever/firstSite/aChannel/aSubChannel/myGreatContent

它是向用户显示的翻译名称。 siteName只出现一次,频道可以出现多次,内容最多出现一次

目前,我们使用commandLinks。 动作调用更新应用程序的上下文并返回页面ID。

现在我们要重现友好的URL并用h:link或outpulink(GET)替换commandlink navigation(POST)。

我用JSF读了一些关于FURL的东西,我看到了PrettyFaces的解决方案。

我可以使用prettyfaces重现FURL,还是应该通过mysefl实现(如this article中的解释)?

使用h:link,我没有看到actionListener或action属性,所以我如何更新我的上下文?

2 个答案:

答案 0 :(得分:2)

  

我可以使用prettyfaces重现FURL,还是应该通过mysefl实现(如本文中的解释)?

我肯定会推荐PrettyFaces。您最终得到的代码和配置不那么复杂。链接文章的顶部也提到了同样的内容。

  

使用h:link,我没有看到actionListener或action属性,所以我如何更新我的上下文?

<h:link>仅接受导航结果,而不接受网址。请改用<h:outputLink>

<h:outputLink value="firstSite/aChannel/aSubChannel">A sub channel</h:outputLink>

关于对GET请求调用操作,请使用与视图关联的bean的构造函数或@PostConstruct

答案 1 :(得分:0)