首页 >web前端 >js教程 >如何使用 JavaScript 从 HTML DOM 事件调用 JSF 托管 Bean?

如何使用 JavaScript 从 HTML DOM 事件调用 JSF 托管 Bean?

Susan Sarandon
Susan Sarandon原创
2024-12-05 14:09:11810浏览

How Can I Call JSF Managed Beans from HTML DOM Events Using JavaScript?

使用本机 JavaScript 从 HTML DOM 事件调用 JSF 托管 Bean

使用 JSF 生成的 JavaScript,您可以执行托管 Bean 操作来响应 HTML DOM 事件,类似于 jQuery document.ready 事件。

调用选项托管 Bean 操作:

1. h:commandScript (JSF 2.3 )

<h:form>
    <h:commandScript name="commandName" action="#{bean.action}" render=":results" />
</h:form>

<h:panelGroup>

JavaScript 调用:

commandName(); // Invoke the action method

2. p:remoteCommand (PrimeFaces)

<h:form>
    <p:remoteCommand name="commandName" action="#{bean.action}" update=":results" />
</h:form>

<h:panelGroup>

JavaScript 调用:

commandName(); // Invoke the action method

3. o:commandScript(OmniFaces - 在旧版 JSF 版本中可用)**

将 h:commandScript 示例中的 h: 替换为 o:。

4.隐藏表单技巧

<h:form>

JavaScript 调用:

document.getElementById("form:button").onclick(); // Trigger the button click

5.自定义 UIComponent

扩展 UICommand 并在自定义组件中生成 jsf.ajax.request() 调用。

DOM 事件调用:

调用DOM加载上的托管bean操作,使用JS在客户端触发事件。例如,使用 h:commandScript 方法:

$(function () {
    commandName();
});

使用隐藏表单技巧,将 JavaScript 调用放置在 h:outputScript 中,其中 target="body":

<h:outputScript target="body">
    document.getElementById("form:button").onclick();
</h:outputScript>

以上是如何使用 JavaScript 从 HTML DOM 事件调用 JSF 托管 Bean?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn