Mantis - Resin
Viewing Issue Advanced Details
3058 major always 11-08-08 18:14 12-15-08 08:54
freemant  
alex  
normal  
closed  
fixed  
none    
none 4.0.0  
0003058: Using an actionlistener with UI Command causes exception
For the facelets page below, when clicking the command button, an exception will be raised.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.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:x="http://foo.com"> [^]
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Insert title here</title>
</head>
<body>
<h:form>
    <h:commandButton action="ok">
        <f:actionListener type="postage.RequestValidatingListener" />
    </h:commandButton>
</h:form>
</body>
</html>

The stack trace is:

java.lang.RuntimeException: javax.faces.FacesException: com.sun.facelets.tag.jsf.core.ActionListenerHandler$LazyActionListener
    at com.caucho.jsf.application.SessionStateManager.restoreView(SessionStateManager.java:297)
    at com.caucho.jsf.application.SessionStateManager.restoreView(SessionStateManager.java:206)
    at com.caucho.jsf.application.JspViewHandler.restoreView(JspViewHandler.java:424)
    at com.sun.facelets.FaceletViewHandler.restoreView(FaceletViewHandler.java:316)
    at com.caucho.jsf.lifecycle.LifecycleImpl.restoreView(LifecycleImpl.java:248)
    at com.caucho.jsf.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:154)
    at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103)
    at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187)
    at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:266)
    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:280)
    at com.caucho.server.port.TcpConnection.handleConnection(TcpConnection.java:563)
    at com.caucho.server.port.TcpConnection$AcceptTask.doAccept(TcpConnection.java:1122)
    at com.caucho.server.port.TcpConnection$AcceptTask.run(TcpConnection.java:1069)
    at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:759)
    at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:681)
    at java.lang.Thread.run(Thread.java:619)
Caused by: javax.faces.FacesException: com.sun.facelets.tag.jsf.core.ActionListenerHandler$LazyActionListener
    at javax.faces.component.UIComponentBase.restoreListeners(UIComponentBase.java:999)
    at javax.faces.component.UIComponentBase.restoreState(UIComponentBase.java:975)
    at javax.faces.component.UICommand.restoreState(UICommand.java:296)
    at javax.faces.component.html.HtmlCommandButton.restoreState(HtmlCommandButton.java:926)
    at com.caucho.jsf.application.SessionStateManager.deserialize(SessionStateManager.java:347)
    at com.caucho.jsf.application.SessionStateManager.deserialize(SessionStateManager.java:336)
    at com.caucho.jsf.application.SessionStateManager.deserialize(SessionStateManager.java:336)
    at com.caucho.jsf.application.SessionStateManager.deserialize(SessionStateManager.java:336)
    at com.caucho.jsf.application.SessionStateManager.restoreView(SessionStateManager.java:295)
    at com.caucho.jsf.application.SessionStateManager.restoreView(SessionStateManager.java:206)
    at com.caucho.jsf.application.JspViewHandler.restoreView(JspViewHandler.java:424)
    at com.sun.facelets.FaceletViewHandler.restoreView(FaceletViewHandler.java:316)
    at com.caucho.jsf.lifecycle.LifecycleImpl.restoreView(LifecycleImpl.java:248)
    at com.caucho.jsf.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:154)
    at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103)
    at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187)
    at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:266)
    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:280)
    at com.caucho.server.port.TcpConnection.handleConnection(TcpConnection.java:563)
    at com.caucho.server.port.TcpConnection$AcceptTask.doAccept(TcpConnection.java:1122)
    at com.caucho.server.port.TcpConnection$AcceptTask.run(TcpConnection.java:1069)
    at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:759)
    at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:681)
    at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.InstantiationException: com.sun.facelets.tag.jsf.core.ActionListenerHandler$LazyActionListener
    at java.lang.Class.newInstance0(Class.java:340)
    at java.lang.Class.newInstance(Class.java:308)
    at javax.faces.component.UIComponentBase.restoreListeners(UIComponentBase.java:989)
    at javax.faces.component.UIComponentBase.restoreState(UIComponentBase.java:975)
    at javax.faces.component.UICommand.restoreState(UICommand.java:296)
    at javax.faces.component.html.HtmlCommandButton.restoreState(HtmlCommandButton.java:926)
    at com.caucho.jsf.application.SessionStateManager.deserialize(SessionStateManager.java:347)
    at com.caucho.jsf.application.SessionStateManager.deserialize(SessionStateManager.java:336)
    at com.caucho.jsf.application.SessionStateManager.deserialize(SessionStateManager.java:336)
    at com.caucho.jsf.application.SessionStateManager.deserialize(SessionStateManager.java:336)
    at com.caucho.jsf.application.SessionStateManager.restoreView(SessionStateManager.java:295)
    at com.caucho.jsf.application.SessionStateManager.restoreView(SessionStateManager.java:206)
    at com.caucho.jsf.application.JspViewHandler.restoreView(JspViewHandler.java:424)
    at com.sun.facelets.FaceletViewHandler.restoreView(FaceletViewHandler.java:316)
    at com.caucho.jsf.lifecycle.LifecycleImpl.restoreView(LifecycleImpl.java:248)
    at com.caucho.jsf.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:154)
    at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103)
    at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187)
    at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:266)
    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:280)
    at com.caucho.server.port.TcpConnection.handleConnection(TcpConnection.java:563)
    at com.caucho.server.port.TcpConnection$AcceptTask.doAccept(TcpConnection.java:1122)
    at com.caucho.server.port.TcpConnection$AcceptTask.run(TcpConnection.java:1069)
    at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:759)
    at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:681)
    at java.lang.Thread.run(Thread.java:619)

Notes
(0003575)
alex   
12-04-08 08:19   
jsf/020y, jsf/4216