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

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

Susan Sarandon
发布: 2024-12-05 14:09:11
原创
812 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板