<a4j:commandlink>动作未被触发</a4j:commandlink>

时间:2014-03-14 19:13:26

标签: jsf-2 richfaces

我有一个<a4j:commandLink>我需要在我的控制器上触发一个动作,

<h:form>
    <a4j:commandLink
        actionListener="#{controller.send(viewBean.id, cc.attrs.guid)}"
        onbegin="$.efc.busy($.messages.sending);"
        oncomplete="$.efc.busy('', true);">
        Send offer to this dealer
    </a4j:commandLink>
</h:form>

当我点击链接时,onbegin javascript被成功触发但是从未调用过该动作。以下是我的操作员的行动:

public void send(String id, String guid) {
    if (id != null && guid != null) {
        ...
    }
}

我的viewBean是视图作用域,guid来自组件......我在这里缺少什么?

修改

如果我将链接更改为按钮,则可以正常工作......但我需要一个链接:

<a4j:commandButton
    action="#{controller.send(viewBean.id, cc.attrs.guid)}"
    onbegin="$.efc.busy($.messages.sending);"
    oncomplete="$.efc.busy('', true);"
    value="Send offer to this dealer">
</a4j:commandButton>

1 个答案:

答案 0 :(得分:0)

根据文件:

&#34; MethodExpression表示在用户激活此组件时将通知的动作侦听器方法。表达式必须求值为一个带有ActionEvent参数的公共方法,返回类型为void。&#34;

javax.el.MethodExpression(签名必须与void actionListener(javax.faces.event.ActionEvent))

匹配