按ID加载JSF页面

时间:2013-10-15 06:02:59

标签: jsf

我有一个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来完成所有工作吗?

2 个答案:

答案 0 :(得分:0)

  1. 创建Databaseconnection
  2. 从数据库中读取列
  3. 将该列写入您的jsf页面
  4. 请查看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

中设置值