tiles-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eric B <ebe...@hotmail.com>
Subject Re: OptionsRenderer not working
Date Mon, 28 Oct 2013 00:57:05 GMT
On 13-10-27 8:49 PM, Eric B wrote:
> On 13-10-27 3:18 PM, Mick Semb Wever wrote:> ClamAV 0.96.5
>  >
>  >
>  >> Some extra questions while i keep looking…
>  >>   - are you using tiles-request-1.0.3, tiles-autotag-1.1, and tiles-3.0.1
>  >>   - have you the spring xml configured like in http://bit.ly/1imSa9T
>  >>   - and if so can you share your tilesInitializer and container classes
>  >
>  > Could you also post a stack trace when the code is in
>  > OptionsRenderer.render(..)
>  >
>  > ~mck
>  >
>  >
>
>
>
> Was using tiles-3.0.1 and it didn't work so I reverted to Tiles 3.0.0 and had the same
problems.
>
> Stack trace when in OptionsRenderer.render() (I've attached an screenshot of the context
variable as retrieved by line 144 of
> BasicTilesContainer.getAttributeContext()):
>
> Daemon Thread [http-bio-8880-exec-1] (Suspended)
>      owns: SocketWrapper  (id=11250)
>      BasicTilesContainer.getAttributeContext(Request) line: 144
>      OptionsRenderer.render(String, Request) line: 96
>      ChainedDelegateRenderer.render(String, Request) line: 68
>      BasicTilesContainer.render(Attribute, Request) line: 259
>      InsertAttributeModel.renderAttribute(TilesContainer, boolean, Attribute, Request)
line: 188
>      InsertAttributeModel.execute(boolean, String, String, Object, String, String, String,
Attribute, boolean, Request, ModelBody) line: 132
>      InsertAttributeTag.doTag() line: 300
>      default.jsp line: 13
>      default.jsp line: not available
>      default_jsp(HttpJspBase).service(HttpServletRequest, HttpServletResponse) line:
70
>      default_jsp(HttpServlet).service(ServletRequest, ServletResponse) line: 728
>      default.jsp line: not available
>      JspServletWrapper.service(HttpServletRequest, HttpServletResponse, boolean) line:
432
>      JspServlet._serviceJspFile(HttpServletRequest, HttpServletResponse, String, boolean)
line: 390
>      JspServlet.serviceJspFile(HttpServletRequest, HttpServletResponse, String, boolean)
line: not available
>      JspServlet.service(HttpServletRequest, HttpServletResponse) line: 334
>      JspServlet(HttpServlet).service(ServletRequest, ServletResponse) line: 728
>      ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 305
>      ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 210
>      ApplicationDispatcher.invoke(ServletRequest, ServletResponse, ApplicationDispatcher$State)
line: 749
>      ApplicationDispatcher.processRequest(ServletRequest, ServletResponse, ApplicationDispatcher$State)
line: 487
>      ApplicationDispatcher.doForward(ServletRequest, ServletResponse) line: 412
>      ApplicationDispatcher.forward(ServletRequest, ServletResponse) line: 339
>      TilesView$2(ServletRequest).forward(String) line: 265
>      TilesView$2(ServletRequest).doForward(String) line: 228
>      TilesView$2(AbstractClientRequest).dispatch(String) line: 57
>      DispatchRenderer.render(String, Request) line: 45
>      OptionsRenderer.render(String, Request) line: 116
>      BasicTilesContainer.render(Attribute, Request) line: 259
>      BasicTilesContainer.render(Request, AttributeContext) line: 397
>      BasicTilesContainer.render(Definition, Request) line: 238
>      BasicTilesContainer.render(String, Request) line: 221
>      DefinitionRenderer.render(String, Request) line: 59
>      TilesView.renderMergedOutputModel(Map<String,Object>, HttpServletRequest,
HttpServletResponse) line: 145
>      TilesView(AbstractView).render(Map<String,?>, HttpServletRequest, HttpServletResponse)
line: 263
>      DispatcherServlet.render(ModelAndView, HttpServletRequest, HttpServletResponse)
line: 1208
>      DispatcherServlet.processDispatchResult(HttpServletRequest, HttpServletResponse,
HandlerExecutionChain, ModelAndView, Exception) line: 992
>      DispatcherServlet.doDispatch(HttpServletRequest, HttpServletResponse) line: 939
>      DispatcherServlet.doService(HttpServletRequest, HttpServletResponse) line: 856
>      DispatcherServlet(FrameworkServlet).processRequest(HttpServletRequest, HttpServletResponse)
line: 936
>      DispatcherServlet(FrameworkServlet).doGet(HttpServletRequest, HttpServletResponse)
line: 827
>      DispatcherServlet(HttpServlet).service(HttpServletRequest, HttpServletResponse)
line: 621
>      DispatcherServlet(FrameworkServlet).service(HttpServletRequest, HttpServletResponse)
line: 812
>      DispatcherServlet(HttpServlet).service(ServletRequest, ServletResponse) line: 728
>      ...
>      ...
>
>
>
>
> Spring Config:
>      <!-- Tiles page resolver -->
>      <bean class="org.springframework.web.servlet.view.tiles3.SpringWildcardServletTilesApplicationContext"
autowire="constructor" />
>      <bean id="viewResolver" class="org.springframework.web.servlet.view.tiles3.TilesViewResolver"
>
>          <property name="cache" value="false"/>
>          <property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView"
/>
>      </bean>
>
>      <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
>          <property name="tilesInitializer">
>              <bean class="com.ia.system.tiles3.TilesInitializer" />
>          </property>
>      </bean>
>
>
>
>
> TilesInitializer.java:
> public class TilesInitializer extends AbstractTilesInitializer {
>
>      @Override
>      protected AbstractTilesContainerFactory createContainerFactory(ApplicationContext
context) {
>          return new TilesContainerFactory();
>      }
>
> }
>
>
> TilesContainerFactory.java:
> public class TilesContainerFactory extends BasicTilesContainerFactory {
>      @Override
>      protected Renderer createTemplateAttributeRenderer(BasicRendererFactory rendererFactory,
ApplicationContext applicationContext, TilesContainer
> container,
>              AttributeEvaluatorFactory attributeEvaluatorFactory) {
>          Renderer renderer = super.createTemplateAttributeRenderer(rendererFactory, applicationContext,
container, attributeEvaluatorFactory);
>          OptionsRenderer optionsRenderer = new OptionsRenderer(applicationContext, renderer);
>          return optionsRenderer;
>      }
>
>      @Override
>      protected <T> PatternDefinitionResolver<T> createPatternDefinitionResolver(Class<T>
customizationKeyClass) {
>          PrefixedPatternDefinitionResolver<T> r = new PrefixedPatternDefinitionResolver<T>();
>          r.registerDefinitionPatternMatcherFactory("WILDCARD", new WildcardDefinitionPatternMatcherFactory());
>          r.registerDefinitionPatternMatcherFactory("REGEXP", new RegexpDefinitionPatternMatcherFactory());
>          return r;
>      }
>
> }
>

Unfortunately, I think my attachment was rejected by the list server.  I wanted to show the
contextStack as well and show the linked list when in the 
OptionsRenderer.render(), but that will likely get rejected as well.  In a nutshell, I've
got 3 contexts in the LinkedList:
1) BasicAttributeContext (all null)
2) BasicAttributeContext (attributes = tiles.xml)
3) BasicAttributeContext (all null)

I'm not sure who pushes the 3 contexts on the stack, or more importantly when (have had some
trouble understanding the exact flow of when/how the 
contexts are pushed on), but I figure there is an issue with the fact that Contexts #1 &
3 are all null.




Mime
View raw message