Отправка параметра в контроллер - PullRequest
3 голосов
/ 24 февраля 2011

Я получил это:

<a4j:commandLink action="#{searchBean.someMethod}" reRender="search"><span><h:graphicImage value="/home/img/icons/red.gif" width="12" height="12" /> Street</span></a4j:commandLink>

И на моем Бобе у меня есть метод:

public void someMethod(String string){
  doStruff();
}

Возможно ли отправить строку в качестве параметра моему методу?

Ответы [ 2 ]

3 голосов
/ 24 февраля 2011

Вы можете отправить параметр с <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");
}
2 голосов
/ 25 февраля 2011

Вы также можете сделать это с помощью a4j: actionparam.

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

в бобе вам нужен только метод получения / установки, вам не нужно извлекать параметр самостоятельно. a4j: actionparam выполняет назначение автоматически.

...