如何使commandButton不完全刷新页面? 如何使用f:ajax?

我必须stream式传输一个networking摄像头video,所以我使用ustream来做到这一点,它为我生成了一个Flashembedded代码,并且我有一个closures/打开灯光的button,但是当我按下button时,它会刷新整个页面,所以闪存组件。

有一些方法不刷新页面,仍然发送到命令? 那么现在就是这样:

<h:form id="form_supervisory"> <h:panelGrid> <h:column> <iframe width="480" height="296" src="http://www.ustream.tv/embed/9599890" scrolling="no" frameborder="0" style="border: 0px none transparent;"> </iframe> <h:commandButton value="Lâmpada" action="#{supervisoryc.invertBo}" /> <h:graphicImage value="#{supervisoryc.imageBo}" /> </h:column> </h:panelGrid> </h:form> 

利用Ajax。 这是在感兴趣的命令button内嵌套<f:ajax>的问题。

 <h:commandButton ...> <f:ajax execute="@form" render="@none" /> </h:commandButton> 

特别是render="@none" (无论如何,你可以完全忽略这个属性)会指示JSF在提交之后不再重新渲染。 如果您打算只重新渲染一个特定的组件而不是整个页面,那么您还可以在render属性中指定该特定组件的ID。

 <h:commandButton ...> <f:ajax execute="@form" render="result" /> </h:commandButton> <h:panelGroup id="result">...</h:panelGroup> 

也可以看看:

  • 了解PrimeFaces进程/更新和JSF f:ajax执行/渲染属性
  • 如何findajax更新/渲染组件的客户端ID? 无法find含有“bar”引用的expression式“foo”的组件
  • 为什么我需要在另一个组件中使用rendered =“#{some}”嵌套一个组件,当我想要更新它时?