Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 仅呈现页面的一部分_Jsf_Spring Webflow - Fatal编程技术网

Jsf 仅呈现页面的一部分

Jsf 仅呈现页面的一部分,jsf,spring-webflow,Jsf,Spring Webflow,我需要实现一个web应用程序,上面有一个菜单(选项卡视图),其中每个选项卡呈现内容区域,而不呈现整个页面。我如何以模块化的方式完成它? 我希望每个内容区域都是一个流。您可以尝试以下方法: <h:form id="topMenu"> <f:ajax render="content"> <h:commandLink actionListener="#{mrBean.openPage('About.xhtml')}" value="About Us" /

我需要实现一个web应用程序,上面有一个菜单(选项卡视图),其中每个选项卡呈现内容区域,而不呈现整个页面。我如何以模块化的方式完成它? 我希望每个内容区域都是一个流。

您可以尝试以下方法:

<h:form id="topMenu">
   <f:ajax render="content">
      <h:commandLink actionListener="#{mrBean.openPage('About.xhtml')}" value="About Us" />
      <h:commandLink actionListener="#{mrBean.openPage('Contact.xhtml')}" value="Contact Us" />
   </f:ajax>
</h:form>

<h:panelGroup id="content">
   <ui:include src="#{mrBean.page}" />
</h:panelGroup>
您可以尝试以下方法:

<h:form id="topMenu">
   <f:ajax render="content">
      <h:commandLink actionListener="#{mrBean.openPage('About.xhtml')}" value="About Us" />
      <h:commandLink actionListener="#{mrBean.openPage('Contact.xhtml')}" value="Contact Us" />
   </f:ajax>
</h:form>

<h:panelGroup id="content">
   <ui:include src="#{mrBean.page}" />
</h:panelGroup>

如果您不介意后端,为什么不使用常规javascript

使用4个不同的ID创建4个div,并使用:

onclick="document.getElementById('div1').style.display = "none";
onclick="document.getElementById('div2').style.display = "inline";
你能行

已编辑

如果div位于不同的文件中,您可以这样使用它:

<div id="div1">
  <ui:include src="#{myBean.myPage}" />
</div>

如果您不介意后端,为什么不使用常规javascript

使用4个不同的ID创建4个div,并使用:

onclick="document.getElementById('div1').style.display = "none";
onclick="document.getElementById('div2').style.display = "inline";
你能行

已编辑

如果div位于不同的文件中,您可以这样使用它:

<div id="div1">
  <ui:include src="#{myBean.myPage}" />
</div>


渲染是什么意思?是否有需要从后端检索的信息,或者您只是想要一个已经存在的不同内容?请考虑一个带有标题(菜单、选项卡或按钮等)的页面,其中每个选项都呈现下面的区域。一种方法是在一个xhtml页面中编写所有内容,这不是一种好方法。我希望每个选项将我重定向到另一个子流,该子流渲染头部下方的区域。您所说的渲染是什么意思?是否有需要从后端检索的信息,或者您只是想要一个已经存在的不同内容?请考虑一个带有标题(菜单、选项卡或按钮等)的页面,其中每个选项都呈现下面的区域。一种方法是在一个xhtml页面中编写所有内容,这不是一种好方法。我希望每个选项将我重定向到另一个子流,该子流呈现标题下方的区域。有很多方法可以做到这一点,但我希望在JSF之上使用SpringWebFlow机制,这将有助于保持项目易于扩展和模块化。您的建议是将所有ui保留在一个页面中,这在将来将很难维护。您可以在不同的页面中使用div内容,并且有很多方法可以做到这一点,但我希望在JSF之上使用SpringWebFlow机制,这将有助于保持项目易于扩展和模块化。您的建议是将所有ui保留在一个页面中,这在将来将很难维护。您可以在不同的页面中使用div内容,但这并不完全是我想要的,但已经足够好了。我希望流由SpringWebFlow管理这不是我想要的,但已经足够好了。我希望流由SpringWebFlow管理