0

我正在尝试使用 IceFaces(+ Jboss AS7 上的 Seam 3 框架)“ice:rowSelector”标签,当点击数据表的行时,该行中的数据将显示在“ice:panelGrid”标签中带有“ice:outputLabel”。

我将 clickListener 设置为一些示例,如下所示:

<ice:rowSelector immediate="true" clickListener="#{categoryController.selectionListener}"/>

方法是:

public void selectionListener(ClickActionEvent clickActionEvent) {

    selectedCategory= categories.get(clickActionEvent.getRow());
}

成为“类别”

List<Category> categories

但是当我测试应用程序时,我得到一个 javax.el.MethodNotFoundException 异常。然后我将“()”添加到方法调用中(clickListener="#{categoryController.selectionListener()}"),得到相同的异常。

最后,我设置了 clickListener="#{categoryController.selectionListener(clickActionEvent)}" 并且该方法被称为但是“clickActionEvent”使它抛出 NullPointException。相关部分是:

    Caused by: javax.el.ELException: /showCategory.xhtml @20,114 clickListener="#{categoryController.selectionListener(clickActionEvent)}": java.lang.NullPointerException
        at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:111) [jsf-impl-2.1.7-jbossorg-2.jar:]
        at com.icesoft.faces.component.facelets.MethodExpressionMethodBinding.invoke(IceComponentHandler.java:231) [icefaces-compat-3.0.1.jar:]
        at com.icesoft.faces.component.ext.RowSelector.broadcast(RowSelector.java:530) [icefaces-compat-3.0.1.jar:]
        at org.icefaces.impl.component.UISeriesBase.broadcast(UISeriesBase.java:481) [icefaces-3.0.1.jar:]
        at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
        at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:935) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
        at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78) [jsf-impl-2.1.7-jbossorg-2.jar:]
        ... 29 more
Caused by: java.lang.NullPointerException

我的问题是:我应该将什么作为 ClickActionEvent 参数传递给“selectionListener”方法?

4

1 回答 1

1

我应该将什么作为 ClickActionEvent 参数传递给“selectionListener”方法?

传递RowSelectorEvent

于 2012-06-12T08:58:46.333 回答