如何使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}”嵌套一个组件,当我想要更新它时?