【问题标题】:How does JSF render more than one JSP pages into 1 single view?JSF 如何将多个 JSP 页面呈现到 1 个单一视图中?
【发布时间】:2014-05-15 13:39:49
【问题描述】:

我有一个应用程序,其中 WebContent 文件夹有许多 .jsp 页面,例如 navigation.jsp, primarytabs.jsp 等。

navigation.jsp 包含一个垂直菜单,primarytabs.jsp 包含顶部的选项卡,而其他一些 jsps 包含单独的组件。

当我运行应用程序服务器的应用程序时,它会打开一个欢迎页面,所有这些导航项、选项卡和其他项都合并到一个视图中,并向我们展示了所有这些组件的良好组合。

我做了一些关于“复合视图”的研究和阅读。但我不确定我是否可以调用这个复合视图。

您能否告诉我 JSF 如何将所有这些 jsps 组合到一个视图中,以及在代码中的何处找到“绑定”以便我可以进行相关更改?

非常感谢。

更多细节:

非常感谢您的回答。我已经浏览了代码并看到了

src="<%= request.getContextPath() %> /faces/tabs.jsp 
src="<%= request.getContextPath() %> /faces/navigator.jsp

等等。我认为这些执行与您在上面使用包含标记描述的类似功能?

【问题讨论】:

    标签: jsp jsf binding frontend


    【解决方案1】:

    欢迎页面可能如下所示:

    Welcome.jsp:

    <jsp:include page="/include/header.jsp" />
    <jsp:include page="/include/navigation.jsp" />
    
    <!-- Content of Page -->
    
    <jsp:include page="/include/footer.jsp" />
    

    把 Welcome.jsp 想象成一个冰箱,而 include 就是页面上的磁铁。

    如果您想更改 header.jsp 中的某些内容,这些内容会在包含它的每个页面上发生更改,从某种意义上说是模板。

    【讨论】:

    • 非常感谢您的回答。我浏览了代码并看到了 src=" /faces/tabs.jsp src=" /faces/navigator.jsp 等等.我假设这些执行您上面描述的类似功能?
    • 正确,request.getContextPath() 是文件系统的根目录,即文件的路径。 @user3641003
    • 我通常称它为带有复合组件的模板。所以我想有点... :) @user3641003
    • 这对您有帮助吗? @user3641003
    • 如果这篇文章解决了你的问题,别忘了把它标记为答案。 @user3641003
    【解决方案2】:

    阅读“Apache Tiles”,它可能会为您的疑问提供一些线索。

    并检查一下

     <jsp:include page"XXXXX.jsp" />. 
    

    这是做同样事情的另一种方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-13
      • 1970-01-01
      • 2020-04-13
      相关资源
      最近更新 更多