我有一个JSF 2.0应用程序,其中每个页面都存储在数据库的cms_page表中。该表具有PK列cms_page_id和URL列(其中包含SEO友好URL)。
当我显示页面时,有一个名为About Us的链接,其URL为“/com/aboutus.html” 这在我的XHTML文件中显示为: #{cmsPage.cmsPageUrlName} />
哪个呈现
<a href="/com/aboutus.html">About Us</a>
据我所知h:outputLink不能用于触发支持bean中的任何方法。 我不能使用h:commandLink,因为当您将鼠标悬停在链接上时,这不会显示“/com/aboutus.html”网址。我无法弄清楚如何触发支持bean方法导航到下一页。 关于我们链接真的会去/faces/pages.xhtml,但会使用PrettyFaces来显示“/com/aboutus.html”网址
另外,如果我直接访问网址www.test.com/com/aboutus.html
,我会怎么做?
此网址不存在,实际网址为www.test.com/faces/pages.xhtml?url=%2Fcom%2Faboutus.html
我应该考虑设置PrettyFaces来完成所有工作吗?
答案 0 :(得分:0)
请查看JSF / JPA文档或教程来解决此问题。
答案 1 :(得分:0)
<ui:include src="#{cmsPage._url}" />
ManagedBean名称
@ManagedBean(name="cmsPage")
@SessionScoped
class Cms_Page{
private String _pageId;
private String _url;
//getter setter
}
使用自定义方法从DAO获取并在Cms_Page
中设置值