Search code examples
jsficefacesjsf-1.2

ICEfaces ice:panelTooltip not showing


Ok so I've been messing around with a JSF snippet supposed to render a tooltip :

<ice:form>
    <ice:panelGroup>
        <ice:graphicImage value="images/icon_info.gif" width="15" height="15" style="float:left;"></ice:graphicImage>
        <ice:panelToolTip>
            <f:facet name="body">
                <ice:outputText styleClass="toolTip" escape="false" value="Jeff,IfYoureSeeingThisYoureSmiling"/>
            </f:facet>
        </ice:panelToolTip>
    </ice:panelGroup>
</ice:form>

The problem is that when I hover the tooltip icon, no text-box is displayed. I also noticed that if I add a CommandLink to that snippet (in the panelGroup), the action will never be executed.

My tought on the problem

You must know that the current web page is included in another web page which already have an <ice:form/>. So, I think this may be caused by nested forms, no ? Note that I have no errors displayed.

I wanted to try by removing the <ice:form> but then I get error that it must be in a form. Note that I can't remove the form in the parent web page.

N.B. The JSF is written in an .xhtml file, I know this is not cool but it should work ?

N.B. I'm not in an <ui:repeat/>

Edit : The bean called by the action of the commandLink is RequestScoped but I doubt it does matter in that case as I have other Beans used the same way that are RequestScoped and that works properly.


Solution

  • Have a look at the ICEfaces tooltip showcase. The <ice:panelGroup> has a attribute panelTooltip which should be assigned the id of your <ice:panelTooltip>.

    <ice:form>
        <ice:panelTooltip id="myTip">
            <f:facet name="body">
                <ice:outputText styleClass="toolTip" escape="false" value="Jeff,IfYoureSeeingThisYoureSmiling"/>
            </f:facet>
        </ice:panelToolTip>
    
        <ice:panelGroup panelTooltip="myTip">
            <ice:graphicImage value="images/icon_info.gif" width="15" height="15" style="float:left;" />            
        </ice:panelGroup>
    </ice:form>