dev@javaserverfaces.java.net

Re: Error in JSF 1.2_04 p2 while rendering command link component with params

From: Ryan Lubke <Ryan.Lubke_at_Sun.COM>
Date: Mon, 09 Jul 2007 08:42:07 -0700

The fix for this issue is already available in the RI nightly builds.

Belov Alexander wrote:
>
> Good day.
>
> I think I found a little bug in last version of JSF RI.
>
> I use f:param inside commandLink. It’s attribute “name” is required. I
> set name, but don’t set attribute value. This way I have an exception:
>
> java.lang.NullPointerException
>
> at
> com.sun.faces.renderkit.RenderKitUtils.getCommandLinkOnClickScript(RenderKitUtils.java:934)
>
> at
> com.sun.faces.renderkit.html_basic.CommandLinkRenderer.getOnClickScript(CommandLinkRenderer.java:295)
>
> at
> com.sun.faces.renderkit.html_basic.CommandLinkRenderer.renderAsActive(CommandLinkRenderer.java:357)
>
> at
> com.sun.faces.renderkit.html_basic.CommandLinkRenderer.encodeBegin(CommandLinkRenderer.java:165)
>
> at
> javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:788)
>
> at javax.faces.component.UIComponent.encodeAll(UIComponent.java:884)
>
> at javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
>
> at
> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
>
> at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
>
> at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
>
> at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
>
> at
> com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:245)
>
> at
> com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:176)
>
> If I set value, for example, “1”, everything is good.
>
> There is an error in the following code:
>
> for (Param param : params) {
>
> sb.append(',');
>
> sb.append(param.name.replace("'", "\\\'"));
>
> sb.append(',');
>
> sb.append(param.value.replace("'", "\\\'"));
>
> }
>
> Attribute value is not necessary, but it is used here as necessary.
>