java - 在<f :event listener ="#{myBean.retrieveData(#{})">里面传一个参数

标签 java jsf jsf-2

我需要使用数据库动态填充一个数据表,我需要在其中调用 retieveData() 方法并将 id 传递给方法内的结果标准。要传递的参数来自另一个 bean #{anotherBean.id}。我的问题是如何在方法中传递这个参数......? 以下是我正在尝试做的...

<f:metadata>
     <f:event listener="#{myBean.retrieveData(#{anotherBean.id)}" type="preRenderComponent" id="fevent"/>
</f:metadata> 

最佳答案

您可以通过属性传递它。

这是我在 JSF 上所做的:

<f:metadata>
    <f:event listener="#{myBean.retrieveData}" type="preRenderView" id="fevent"/>
    <f:attribute name="myid" value="#{anotherBean.id)" />
</f:metadata>

同时托管bean(myBean)如下:

public void retrieveData(ComponentSystemEvent event) {
    String id = (String) event.getComponent().getAttributes().get("myid");
}

在 f:event 标记的监听器上调用托管 bean 的方法时,确保不要使用“()”。

关于java - 在<f :event listener ="#{myBean.retrieveData(#{})">里面传一个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10039069/

相关文章:

javascript - 检查 primefaces 中的数据表是否为空

java - 调用bean方法primefaces jsf时托管bean字段为空

jsf - 即使 JSF 在流程验证阶段失败,是否有一种方法可以更新组件

java - 最小堆算法

java - 如何为所有 Controller 和页面仅绑定(bind)一次共享片段的数据?

java - 不知从何而来的电话权限?

java - 在 JSF 中取消按钮导航

java - JSF 重置按钮未重置几列

java - JSF 2.0 Spring bean 注入(inject)

java - 每当调用某个类的方法时,我可以要求 java 执行某些操作吗