html页面调用bean,如何使用本机JavaScript在HTML DOM事件上调用JSF管理的bean?

小编典典

几种方法。

使用。注意,仅自JSF 2.3起可用。

您可以在JS中调用它,如下所示:

commandName();

可以按以下方式传递参数:

commandName({ name1: "value1", name2: "value2" });

并获得如下:

String name1 = externalContext.getRequestParameterMap().get("name1"); // value1

String name2 = externalContext.getRequestParameterMap().get("name2"); // value2

要在load事件期间调用它,请设置autorun="true"。

如果您使用的是PrimeFaces,请使用。

您可以在JS中调用它,如下所示:

commandName();

但是,它不使用JSF本[jsf.ajax.request(),而是使用PrimeFaces本机jQuery(您知道,PrimeFaces是jQuery

/ UI之上的JSF组件库)。

可以按以下方式传递参数:

commandName([{ name: "name1", value: "value1" }, { name: "name2", value: "value2" }]);

并获得如下:

String name1 = externalContext.getRequestParameterMap().get("name1"); // value1

String name2 = externalContext.getRequestParameterMap().get("name2"); // value2

要在load事件期间调用它,请设置autoRun="true"。

如果您使用的是OmniFaces,请使用。用法与之完全相同,但可用于较旧的JSF 2.x版本。

在第一个示例中只需替换h:为o:。历史记录:完全基于。

使用“隐藏形式”的技巧(实际上,给“ hack”一个更好的措词)。

您可以在JS中调用它,如下所示:

document.getElementById("form:button").onclick();

请注意触发的重要性,onclick()而不是click()在情况下。该onclick()立即调用onclick功能,而click()只是触发因素,这是不支持IE的“click”事件。如果您使用,则可以放心使用click()。

您可以通过与JS预先填写的表格相同的形式来传递参数。这在如何将JavaScript变量作为参数传递给JSF操作方法中得到了证明。

要在load事件期间调用它,请考虑将其放在中

target="body">。该target="body"自动将

document.getElementById("form:button").onclick();

或者,创建一个UIComponent扩展UICommand并生成必要的JSF本机jsf.ajax.request()调用的定制。作为示例,您可以查看OmniFaces的源代码。

2020-04-25

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值