0

IceFaces(+JbossAS7のSeam3Framework)の「ice:rowSelector」タグを使用して、dataTableの行が高く評価されたときに、その行のデータが「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 に答える