【发布时间】:2014-12-17 00:00:36
【问题描述】:
我必须用 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>
我需要一个工作方法来改变内容或整个页面没有背景。
【问题讨论】:
标签: jsf primefaces