我明白了:
<a4j:commandLink action="#{searchBean.someMethod}" reRender="search"><span><h:graphicImage value="/home/img/icons/red.gif" width="12" height="12" /> Street</span></a4j:commandLink>
在我的Bean上,我得到了一个方法:
public void someMethod(String string){
doStruff();
}
是否可以将String作为参数发送到我的方法?
答案 0 :(得分:3)
您可以发送<f:param>
这样的参数
<a4j:commandLink action="#{searchBean.someMethod}" reRender="search">
<span>
<h:graphicImage value="/home/img/icons/red.gif" width="12" height="12" />Street
</span>
<f:param name="stringParam" value="someString" />
</a4j:commandLink>
然后使用ActionEvent
public void someMethod(ActionEvent actionEvent) {
String s = (String) actionEvent.getComponent().getAttributes().get("stringParam");
}
答案 1 :(得分:2)
你也可以用a4j:actionparam来做。
<a4j:commandLink>
<a4j:actionparam name="p1" value="hello"/>
</a4j:commandLink>
在bean中你只需要一个getter / setter,你不需要自己检索param。 a4j:actionparam自动完成赋值。