ui:fragment and pdf generation problems
ng.tech Dec 17, 2007 9:14 AMHey there,
I've got a problem when i'm using the facelets ui:fragment component and generating a pdf.
I have a endless loop when the rendered expression is true. Works fine when the expression is false.
My code:
<p:cell borderWidthRight="0.5"> <ui:fragment rendered="#{broker.gender eq 'F'}"> <p:paragraph> Female </p:paragraph> </ui:fragment> </p:cell>
14:45:18,843 ERROR [ExceptionFilter] handling uncaught exception javax.servlet.ServletException: Servlet execution threw an exception at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:313) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83) at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141) at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281) at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158) 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:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:595) Caused by: java.lang.StackOverflowError at sun.nio.cs.SingleByteEncoder.encodeArrayLoop(SingleByteEncoder.java:95) at sun.nio.cs.SingleByteEncoder.encodeLoop(SingleByteEncoder.java:134) at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:544) at sun.nio.cs.StreamEncoder$CharsetSE.implWrite(StreamEncoder.java:384) at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:136) at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:146) at java.io.OutputStreamWriter.write(OutputStreamWriter.java:204) at java.io.Writer.write(Writer.java:126) at org.apache.log4j.helpers.QuietWriter.write(QuietWriter.java:47) at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:301) at org.apache.log4j.DailyRollingFileAppender.subAppend(DailyRollingFileAppender.java:358) at org.apache.log4j.WriterAppender.append(WriterAppender.java:159) at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:230) at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:65) at org.apache.log4j.Category.callAppenders(Category.java:203) at org.apache.log4j.Category.forcedLog(Category.java:388) at org.apache.log4j.Category.log(Category.java:853) at org.jboss.seam.log.Log4JProvider.debug(Log4JProvider.java:42) at org.jboss.seam.Component.initialize(Component.java:1374) at org.jboss.seam.Component.instantiateJavaBean(Component.java:1307) at org.jboss.seam.Component.instantiate(Component.java:1260) at org.jboss.seam.Component.newInstance(Component.java:1958) at org.jboss.seam.Component.getInstance(Component.java:1865) at org.jboss.seam.Component.getInstance(Component.java:1844) at org.jboss.seam.Component.getInstance(Component.java:1821) at org.jboss.seam.Component.getInstance(Component.java:1816) at org.jboss.seam.core.ResourceLoader.instance(ResourceLoader.java:97) at org.jboss.seam.navigation.Page.getResourceBundle(Page.java:82) at org.jboss.seam.navigation.Pages.getResourceBundles(Pages.java:658) at org.jboss.seam.core.SeamResourceBundle.getPageResourceBundles(SeamResourceBundle.java:134) at org.jboss.seam.core.SeamResourceBundle.handleGetObject(SeamResourceBundle.java:97) at java.util.ResourceBundle.getObject(ResourceBundle.java:319) at java.util.ResourceBundle.getString(ResourceBundle.java:285) at org.jboss.seam.international.Messages$1.get(Messages.java:56) at org.jboss.seam.international.Messages$1.get(Messages.java:72) at javax.el.MapELResolver.getValue(MapELResolver.java:51) at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53) at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64) at org.jboss.el.parser.AstBracketSuffix.getValue(AstBracketSuffix.java:59) at org.jboss.el.parser.AstValue.getValue(AstValue.java:67) at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) at com.sun.facelets.el.ELText$ELTextVariable.writeText(ELText.java:184) at com.sun.facelets.el.ELText$ELTextComposite.writeText(ELText.java:108) at com.sun.facelets.compiler.TextInstruction.write(TextInstruction.java:45) at com.sun.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:39) at org.jboss.seam.ui.util.JSF.renderChild(JSF.java:172) at org.jboss.seam.pdf.ui.ITextComponent.extractText(ITextComponent.java:226) at org.jboss.seam.pdf.ui.ITextComponent.encodeChildren(ITextComponent.java:203) at org.jboss.seam.pdf.ui.ITextComponent.encode(ITextComponent.java:248) at org.jboss.seam.pdf.ui.ITextComponent.encodeChildren(ITextComponent.java:213) at org.jboss.seam.pdf.ui.ITextComponent.encode(ITextComponent.java:248) at org.jboss.seam.pdf.ui.ITextComponent.encodeChildren(ITextComponent.java:213) at org.jboss.seam.pdf.ui.ITextComponent.encode(ITextComponent.java:248) at org.jboss.seam.pdf.ui.ITextComponent.encodeChildren(ITextComponent.java:213) at org.jboss.seam.pdf.ui.ITextComponent.encode(ITextComponent.java:248) at org.jboss.seam.pdf.ui.ITextComponent.encode(ITextComponent.java:251) at org.jboss.seam.pdf.ui.ITextComponent.encode(ITextComponent.java:251) at org.jboss.seam.pdf.ui.ITextComponent.encode(ITextComponent.java:251) at org.jboss.seam.pdf.ui.ITextComponent.encode(ITextComponent.java:251) ...
Thanks,
Nicolas