按id加载JSF页面

按id加载JSF页面,jsf,Jsf,我有一个JSF2.0应用程序,其中每个页面都存储在数据库的cms_页面表中。该表包含PK列cms_page_id和URL列(其中包含SEO友好的URL) 当我显示一个页面时,有一个名为About Us的链接,其URL为“/com/aboutus.html” 这在我的XHTML文件中显示为: #{cmsPage.cmsPageUrlName}/> 这使得 据我所知,h:outputLink不能用于激发支持bean中的任何方法。 我不能使用h:commandLink,因为当您将鼠标悬停在链接上时,

我有一个JSF2.0应用程序,其中每个页面都存储在数据库的cms_页面表中。该表包含PK列cms_page_id和URL列(其中包含SEO友好的URL)

当我显示一个页面时,有一个名为About Us的链接,其URL为“/com/aboutus.html” 这在我的XHTML文件中显示为: #{cmsPage.cmsPageUrlName}/>

这使得

据我所知,h:outputLink不能用于激发支持bean中的任何方法。 我不能使用h:commandLink,因为当您将鼠标悬停在链接上时,它不会显示“/com/aboutus.html”URL。我不知道如何启动一个backingbean方法来导航到下一页。 “关于我们”链接将真正转到/faces/pages.xhtml,但将使用PrettyFaces显示“/com/aboutus.html”URL

另外,如果我直接访问URL
www.test.com/com/aboutus.html
,我会怎么做? 此URL不存在,实际URL将是
www.test.com/faces/pages.xhtml?URL=%2Fcom%2Faboutus.html
我是否应该考虑设置漂亮的面孔来完成所有的工作

  • 创建数据库连接
  • 从数据库中读取列
  • 将该列写入jsf页面
  • 请看一看JSF/JPA文档或教程来解决这个问题

    <ui:include src="#{cmsPage._url}" />
    

    使用自定义方法从DAO获取并在Cms_页面中设置值

    我了解您在这里做什么,但当页面加载时,URL将是欢迎页面上的(例如)/faces/Page.xhtmlh,但您可以在从DB获取值后重定向所需页面。我更新了描述。我需要知道如何仅使用h:outputlink启动一个backingbean方法看看这个链接
    @ManagedBean(name="cmsPage")
    @SessionScoped
    class Cms_Page{
      private String _pageId;
      private String _url;
    
      //getter setter
    }