我在会话范围内声明了一个托管bean。有一个下拉年份和一个提交按钮。当我尝试运行除2011年以外的所有年份的报告时页面工作正常。我收到以下错误。导致下面错误的原因是什么?
11:53:20,280 ERROR [STDERR] May 2, 2011 11:53:20 AM com.sun.facelets.FaceletViewHandler handleRenderException
SEVERE: Error Rendering View[/reports/studentInfo.xhtml]
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 org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:280)
at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262)
at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:284)
at org.richfaces.renderkit.AbstractRowsRenderer.encodeCellChildren(AbstractRowsRenderer.java:285)...
...............
答案 0 :(得分:1)
这是一个旧的JSF 1.2错误,当你输入<h:commandLink>
<f:param>
value
属性为null
或完全省略时<h:commandLink>
<f:param name="foo" />
</h:commandLink>
时,就会出现这种错误。
E.g。
<h:commandLink>
<f:param name="foo" value="#{null}" />
</h:commandLink>
或
{{1}}
除了修复它永远不会为null之外,您还可以升级到最新的Mojarra 1.2版本。它目前已经在1.2_15,这个错误已经在5年前发布的版本1.2_05左右修复了。让自己和您的软件保持最新。