views:

21

answers:

2

I have a web application written in plain old JSF that I want partially migrate to ICEfaces to use some of its components, namely confirmation panel for now. To use it, I changed my forms with links that require confirmation to ice: tag library from h:. Links I use should fire method that takes a parameter. The parameter is sent via f:setPropertyActionListener. However, now I get the following exception:

javax.faces.view.facelets.TagException: 
/jsp/manageDomainTypes.xhtml @30,99 <f:setPropertyActionListener> 
Parent is not of type ActionSource, type is: 
javax.faces.component.UIOutput@14ea0724

If I switch back to h taglib, exception disappears and everything works fine. Where am I wrong and What can I do to properly use my command links in ICEfaces? I use Tomcat 6.0.26 with JSF 2.0 and ICEfaces 2.0.0 alpha3 onboard.

One example of such a link is:

<ice:commandLink action="#{DomainTypeBean.openEditDomainType}">
    <ice:graphicImage value="#{icon.edit}"/>
    <f:setPropertyActionListener 
        target="#{DomainTypeBean.currentType}" value="#{domainType}" />
</ice:commandLink>

Links are nested into

<ui:define><ice:form><ice:panelGrid><ice:dataTable>.
+1  A: 

The icefaces HtmlCommandLink extends the original one, so the problem is not in the component.

I'd assume you have incorrectly imported the and the icefaces component is not resolved.

Bozho
Can you suggest any reading about proper importing? What I did was just converting pages to facelets, adding icefaces library and switching to ice: tag.
Dzmitry Zhaleznichenka
A: 

I have fixed the problem. It arised because to use ice: tags in ICEfaces 2.0, compatibility libraries are to be included for substituting the components with ICEfaces 1.8.2 ones as ICEfaces 2.0 components are still under development.

Dzmitry Zhaleznichenka