【问题标题】:Sending parameter to a Controller向控制器发送参数
【发布时间】:2011-07-03 20:35:06
【问题描述】:

我知道了:

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

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

【问题讨论】:

    标签: java jsf parameters richfaces ajax4jsf


    【解决方案1】:

    您可以像这样使用&lt;f:param&gt; 发送参数

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2020-01-24
        • 2014-12-23
        • 1970-01-01
        • 2015-11-21
        • 2010-12-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-31
        相关资源
        最近更新 更多