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(RenderKit
Utils.java:934)
at
com.sun.faces.renderkit.html_basic.CommandLinkRenderer.getOnClickScript(Comm
andLinkRenderer.java:295)
at
com.sun.faces.renderkit.html_basic.CommandLinkRenderer.renderAsActive(Comman
dLinkRenderer.java:357)
at
com.sun.faces.renderkit.html_basic.CommandLinkRenderer.encodeBegin(CommandLi
nkRenderer.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:81
2)
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:17
6)
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.