NPE in ButtonRenderer in 2.2

UI Components for JSF
Post Reply
cilius
Posts: 9
Joined: 05 Jan 2011, 15:59

10 Feb 2011, 12:01

If you create a simple page containing a button with an outcome that is not specified in faces-config.xml

Code: Select all

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.prime.com.tr/ui">
<h:head>
	<title>Test</title>
</h:head>
<h:body>
	
	<p:button outcome="fail" value="hit me!"/>
	</h:body>
</html>
This code results in a NPE:

Code: Select all

java.lang.NullPointerException
	at org.primefaces.component.button.ButtonRenderer.buildOnclick(ButtonRenderer.java:91)
	at org.primefaces.component.button.ButtonRenderer.encodeMarkup(ButtonRenderer.java:56)
	at org.primefaces.component.button.ButtonRenderer.encodeEnd(ButtonRenderer.java:38)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:879)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1650)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:389)
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:127)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:269)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:117)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:309)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
	at org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:67)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181)
	at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285)
	at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261)
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88)
	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951)
	at java.lang.Thread.run(Thread.java:662)
If you substitutes the p:button tag with at h:button then (PrpjectStage=development) Mojarra is able to display a warning in the page saying:
Unable to find matching navigation case from view ID '/index.xhtml' for outcome 'fail'
I think PrimeFaces should be at least as informative as the standard h:button tag.
PrimeFaces 3.2.RC1, Mojarra 2.1.4, JBoss EAP 5.1

dingo
Posts: 12
Joined: 21 Jun 2011, 06:00

21 Jun 2011, 06:04

Agreed. This problem is also occurring in 3.0-M1 snapshot.
thanks,

Ralph

MyEclipse 10 | EclipseLink 2.3 | PrimeFaces 3.1.1 | Primefaces-Extensions 0.3.0 | Mojarra 2.1.7

didiosam
Posts: 2
Joined: 17 Sep 2011, 02:27

17 Sep 2011, 02:34

hello, I'm new in primefaces and the same error that you said is happening with me...

can you please, help me?

regards

Post Reply

Return to “PrimeFaces”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 10 guests