我需要使用数据库动态填充一个数据表,我需要在其中调用 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/