3

我懂了:

<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();
}

是否可以将字符串作为参数发送到我的方法?

4

2 回答 2

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");
}
于 2011-02-24T20:35:48.413 回答
2

您也可以使用 a4j:actionparam 来完成。

<a4j:commandLink>
   <a4j:actionparam name="p1" value="hello"/>
</a4j:commandLink>

在 bean 中你只需要一个 getter/setter,你不需要自己检索参数。a4j:actionparam 自动执行分配。

于 2011-02-25T00:46:06.973 回答