JSF页面在没有后台的情况下重新加载

JSF页面在没有后台的情况下重新加载,jsf,primefaces,Jsf,Primefaces,我必须用jsf和primafecas制作一个网页,但我没有太多的经验。我必须在不重新加载所有内容的情况下更改页面内容,因为背景相当大。 我制作了一个带有工具栏和iframe的菜单,可以轻松更改gmap、文本、表单、数据表等内容。我知道这是最糟糕的解决方案之一,但我找不到更好的解决方案 现在我必须从iframe中更改菜单,但是看起来不可能,所以我想使用一个好的方法来代替iframe。我尝试了一些方法,但没有效果,有时出现重复id错误或什么都不起作用,但有时除了菜单之外什么都没有呈现 现在代码如下所

我必须用jsf和primafecas制作一个网页,但我没有太多的经验。我必须在不重新加载所有内容的情况下更改页面内容,因为背景相当大。 我制作了一个带有工具栏和iframe的菜单,可以轻松更改gmap、文本、表单、数据表等内容。我知道这是最糟糕的解决方案之一,但我找不到更好的解决方案

现在我必须从iframe中更改菜单,但是看起来不可能,所以我想使用一个好的方法来代替iframe。我尝试了一些方法,但没有效果,有时出现重复id错误或什么都不起作用,但有时除了菜单之外什么都没有呈现

现在代码如下所示:

<ui:define name="menu">
        <h:form id="menuForm">
            <p:toolbar activeIndex="#{navigationBean.pageCount}">
                <p:toolbarGroup align="right">
                    <p:commandButton value="menu1" action="#{navigationBean.setUrl(...)}" update=":frmContent,menuForm" />
                    <p:commandButton  value="menu2" action="#{navigationBean.setUrl(...)}" update=":frmContent,menuForm" />
                    <p:commandButton  value="menu3" action="#{navigationBean.setUrl(...)}" update=":frmContent,menuForm" />
                    <p:commandButton  value="menu3"  action="#{navigationBean.setUrl(...)}" update=":frmContent,menuForm"/>
            </p:toolbar>

        </h:form>

</ui:define>

<ui:define name="content">

           <h:form id="frmContent" style="height:100%;width:100%" height="100%" width="100%">
                <iframe src="#{navigationBean.url}" id="frame" frameborder="0" style="height:100%;width:100%" height="100vh" width="100%"/>
       </h:form>
我需要一种工作方法来更改内容或整个页面,而不使用背景。

尝试使用

<ui:include src="#{navigationBean.url}" />

而不是iframe。

我尝试了它,但包含的部分不起作用。我有重复的id错误。我修好了,但是没有一个按钮能用。我应该如何引用include内外的其他组件?我重新构建了您的解决方案,它似乎适合我。也许这只是你丢失的收尾标签?你的帖子里没有。哦,我只是忘了抄。我再试了一次,但有一个小错误导致了这个错误。现在它起作用了,但只有一次。如果我按下按钮,它什么也做不了。在重新加载页面后,它可以工作1次点击,但再也不能工作了。我重写了模板文件,一切正常。谢谢你的帮助!