使用a4j时不调用bean:commandLink和属性actionListener

时间:2011-10-25 13:10:37

标签: jsf ajax4jsf

您好我想在actionListner中使用commandLink

<ui:define name="content">
     <a4j:log/>
     <a4j:form id="home">
     <h:commandLink value="bla" actionListener="#{SearchBean.search }">
        <f:param name="keyWord" value="hello"></f:param>
     </h:commandLink>
//some more JSF
    </a4j:form>
</ui:define>

我的searchBean代码:

public class SearchBean {

    public void search(ActionEvent e)
    {
        String myAttribute = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("keyWord").toString();
        System.out.println(myAttribute);
    }

}

但是没有调用bean。 我尝试使用f:attributeh:commandLink代替a4j但是效果不佳。

2 个答案:

答案 0 :(得分:1)

尝试删除actionListener函数名称

末尾的空格

答案 1 :(得分:0)

你在哪里声明你的bean?如果你没有为它选择一个特定的名字,jsf在上下文中将它命名为降低第一个字符.i.e。 #{search Bean}