[JBoss Seam] - Re: Update Seam JSF library againts JBoss5
by thejavafreak
Again from the same example (seam-numberguess). This error stack arise when I hit the application from the browser.
2006-12-13 12:27:00,680 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/seam-numberguess].[jsp]] Servlet.service() for servlet jsp threw exception
| java.lang.NullPointerException
| at com.sun.faces.taglib.jsf_core.ValidateLongRangeTag.<init>(ValidateLongRangeTag.java:75)
| at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
| at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
| at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
| at java.lang.reflect.Constructor.newInstance(Constructor.java:506)
| at java.lang.Class.newInstance0(Class.java:355)
| at java.lang.Class.newInstance(Class.java:308)
| at org.apache.jasper.runtime.TagHandlerPool.get(TagHandlerPool.java:126)
| at org.apache.jsp.numberGuess_jspx._jspx_meth_f_005fvalidateLongRange_005f0(numberGuess_jspx.java:435)
| at org.apache.jsp.numberGuess_jspx._jspx_meth_h_005finputText_005f0(numberGuess_jspx.java:407)
| at org.apache.jsp.numberGuess_jspx._jspx_meth_h_005fform_005f0(numberGuess_jspx.java:193)
| at org.apache.jsp.numberGuess_jspx._jspx_meth_f_005fview_005f0(numberGuess_jspx.java:127)
| at org.apache.jsp.numberGuess_jspx._jspService(numberGuess_jspx.java:94)
| at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
| at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:390)
| at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
| at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:683)
| at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
| at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:404)
| at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
| at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:413)
| at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:480)
| at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:125)
| at org.jboss.seam.jsf.SeamViewHandler.renderView(SeamViewHandler.java:59)
| at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:133)
| at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:244)
| at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:32)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:174)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:86)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:818)
| at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:624)
| at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
| at java.lang.Thread.run(Thread.java:619)
| 2006-12-13 12:27:00,990 WARN [javax.enterprise.resource.webcontainer.jsf.lifecycle] executePhase(RENDER_RESPONSE 6,com.sun.faces.context.FacesContextImpl@3e07bd) threw exception
| javax.faces.FacesException: org.apache.jasper.JasperException: An exception occurred processing JSP page /numberGuess.jspx at line 32
| 29: Your guess:
| 30: <h:inputText value="#{numberGuess.currentGuess}" id="guess" required="true">
| 31: <f:validateLongRange maximum="#{numberGuess.biggest}"
| 32: minimum="#{numberGuess.smallest}"/>
| 33: </h:inputText>
| 34: <h:commandButton value="Guess" action="guess"/>
| 35: <s:button value="Cheat" view="/confirm.jspx"/>
|
| at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:418)
| at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:480)
| at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:125)
| at org.jboss.seam.jsf.SeamViewHandler.renderView(SeamViewHandler.java:59)
| at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:133)
| at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:244)
| at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:32)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:174)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:86)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:818)
| at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:624)
| at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
| at java.lang.Thread.run(Thread.java:619)
| Caused by: org.apache.jasper.JasperException: An exception occurred processing JSP page /numberGuess.jspx at line 32
| 29: Your guess:
| 30: <h:inputText value="#{numberGuess.currentGuess}" id="guess" required="true">
| 31: <f:validateLongRange maximum="#{numberGuess.biggest}"
| 32: minimum="#{numberGuess.smallest}"/>
| 33: </h:inputText>
| 34: <h:commandButton value="Guess" action="guess"/>
| 35: <s:button value="Cheat" view="/confirm.jspx"/>
|
| at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:555)
| at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:414)
| at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
| at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:683)
| at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
| at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:404)
| at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
| at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:413)
| ... 27 more
| Caused by: javax.servlet.ServletException: javax.servlet.jsp.JspException: null
| at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:851)
| at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:784)
| at org.apache.jsp.numberGuess_jspx._jspService(numberGuess_jspx.java:102)
| at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
| at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:390)
| ... 37 more
| Caused by: java.lang.NullPointerException
| at com.sun.faces.taglib.jsf_core.ValidateLongRangeTag.<init>(ValidateLongRangeTag.java:75)
| at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
| at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
| at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
| at java.lang.reflect.Constructor.newInstance(Constructor.java:506)
| at java.lang.Class.newInstance0(Class.java:355)
| at java.lang.Class.newInstance(Class.java:308)
| at org.apache.jasper.runtime.TagHandlerPool.get(TagHandlerPool.java:126)
| at org.apache.jsp.numberGuess_jspx._jspx_meth_f_005fvalidateLongRange_005f0(numberGuess_jspx.java:435)
| at org.apache.jsp.numberGuess_jspx._jspx_meth_h_005finputText_005f0(numberGuess_jspx.java:407)
| at org.apache.jsp.numberGuess_jspx._jspx_meth_h_005fform_005f0(numberGuess_jspx.java:193)
| at org.apache.jsp.numberGuess_jspx._jspx_meth_f_005fview_005f0(numberGuess_jspx.java:127)
| at org.apache.jsp.numberGuess_jspx._jspService(numberGuess_jspx.java:94)
| ... 40 more
I don't if my workaround is the right thing to do, but this error didn't arise when I put
1. el-api.jar
2. el.ri.jar
3. jsf-facelets.jar
Either under $JBOSS_HOME/server/default/lib or jbossweb.deployer/jsf-libs
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3993250#3993250
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3993250
19 years, 4 months
[JBoss Seam] - Re: Encoded Request Parameter
by chane
This is the link I am using:
http://somedomain.com/action.seam?param1=v1¶m2=v2
For some reason it seams that the browser encodes the link to use "&" instead of just "&".
I figured this is probably a JSF/Tomcat issue; but it seems like for the short term I can solve it in Seam. I modified Component like this:
|
| private Object convertMultiValueRequestParameter(Map<String, String[]> requestParameters, String name, Class<?> type)
| {
| String[] array = requestParameters.get(name);
|
| if(array == null || array.length==0){
| array = requestParameters.get("amp;"+name);
| }
|
| if (array==null || array.length==0)
| {
| return null;
| }
| else
| {
| if ( type.isArray() )
| {
| int length = Array.getLength(array);
| Class<?> elementType = type.getComponentType();
| Object newInstance = Array.newInstance(elementType, length);
| for ( int i=0; i<length; i++ )
| {
| Object element = convertRequestParameter( (String) Array.get(array, i), elementType );
| Array.set( newInstance, i, element );
| }
| return newInstance;
| }
| else
| {
| return convertRequestParameter( array[0], type );
| }
| }
| }
So when a RequestParameter is searched for, if it is not found the "amp;"+name version is looked for next. I don't like this solution; but for the short term it's gonna have to suffice. Other suggestions are always welcomed.
As for Seam 1.1, I am looking forward to using it as soon as I can; but I can't move to the new version right this instant. We are planning on moving to 1.1 in the next couple of months (maybe over xmas) when I have a chance to do some testing. I also need to look into making some of my local modifications to the 1.1 version (specifically - http://jira.jboss.org/jira/browse/JBSEAM-326). None of them are difficult, just need some time.
Thanks,
Chris....
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3993245#3993245
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3993245
19 years, 4 months