在使用本机的 HTML DOM 事件期间操作 JavaServer Faces 托管 Bean JavaScript可以通过多种方法来实现。虽然 jQuery 通过其 $(document).ready() 函数提供了一个简单的解决方案,但 JSF 提供了与其框架无缝集成的不同方法。
<h:form> <h:commandScript name="commandName" action="#{bean.action}" render=":results" autorun="true" /> </h:form>
PrimeFaces 提供了
<h:form> <p:remoteCommand name="commandName" action="#{bean.action}" update=":results" autoRun="true" /> </h:form>
如果您的应用程序使用 OmniFaces,您可以将
<o:form> <o:commandScript name="commandName" action="#{bean.action}" render=":results" autorun="true" /> </o:form>
另一个该选项涉及“隐藏表单”技巧,其中包含命令按钮的表单呈现在页面上,但使用 CSS 隐藏。可以使用 JavaScript 的 onclick() 方法触发按钮。
<h:form>
document.getElementById("form:button").onclick();
对于高级场景,您可以创建自定义 UIComponent扩展生成 JSF 的本机 jsf.ajax.request() 调用的 UICommand。这种方法提供了对 Ajax 行为的完全自定义和控制。
以上是如何从本机 JavaScript HTML DOM 事件触发 JSF 托管 Bean?的详细内容。更多信息请关注PHP中文网其他相关文章!