我有我的组件:
public class Training extends UIOutput
并拥有渲染器:
public class TrainingRenderer extends Renderer
with taglibrary:
<tag>
<tag-name>training</tag-name>
<attribute>
<name>style</name>
</attribute>
<attribute>
<name>action</name>
<method-signature>java.lang.String action()</method-signature>
</attribute>
<attribute>
<name>listener</name>
<method-signature>void actionListener(javax.faces.event.ActionListener)</method-signature>
</attribute>
<component>
<component-type>training</component-type>
<renderer-type>pl.spiid.app.spiidcharts.beans.training.Training</renderer-type>
</component>
</tag>
这是在我的index.xhtml
中<spiid:training rendered="true" style="width: 100%; height: 500px;" action="#{training.actionFromChart()}" listener="#{userBeanData.bindingMessage(arg1)}/>
和听力方法
public void bindingMessage(ActionEvent actionEvent) {...}
方法可以通过以下方式调用:
Map<String, Object> attrMap = component.getAttributes();
Object tmp = attrMap.get("listener");
我想用事件参数调用此方法。我想使用eventQueue,但我不知道如何正确使用它。
使用: JSF 2.2.14
编辑。
EDIT2: 很快我会添加一个答案。