我们正在尝试将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属性,所以我如何更新我的上下文?
答案 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)