如何将值传递给 ajax 监听器 primefaces

Posted

技术标签:

【中文标题】如何将值传递给 ajax 监听器 primefaces【英文标题】:How do you pass a value into an ajax listener primefaces 【发布时间】:2012-03-17 08:24:49 【问题描述】:

所以我有

<p:ajax event="tabChange" listener="#refriedBean.onTabChange" />

但我想传入 tabChange 事件和一个存储在页面上的额外值

public void onTabChange(TabChangeEvent event, Object obj)

要怎么做呢?

【问题讨论】:

【参考方案1】:

您可以将参数obj 替换为 bean 中的附加属性,并在 ajax 请求时为该属性设置所需的值:

<p:ajax event="tabChange" listener="#refriedBean.onTabChange">
  <f:setPropertyActionListener target="#refriedBean.additionalProperty" value="value_here"/>
</p:ajax>

见setPropertyActionListener

【讨论】:

嵌套是不必要的。无论如何,它将应用于父组件。 它必须是嵌套的,因为父级必须是 ActionSource 类型。而且它似乎没有工作。我在 refriedBean 中创建了一个名为 additionalProperty 的值,并给它一个 getter 和 setter。 @Angelo.Hannes ***.com/questions/15876257/… 我不明白为什么这个答案被赞成。我只是想引用像 akapelko 这样的同一个链接.... 这对我也不起作用。 Bean 属性未在侦听器处理程序之前设置。

以上是关于如何将值传递给 ajax 监听器 primefaces的主要内容,如果未能解决你的问题,请参考以下文章

通过jQuery ajax调用将值列表传递给django视图

如何将值从 django 模板化 html 传递到 ajax

HTML 复选框元素未将值传递给 jQuery 和 AJAX 字符串

<p:ajax> 监听器永远不会被调用

将值从 iOS 本机代码传递给 cordova

ASP.Net C#MCV - 将值从Ajax Jquery传递给Controller