I've trided to add sort to table, and when i put pages:sort into code I get exception "Input cannot be null". As far as I know there shouldn't be null pointers in my collection. Do you have an idea what could lead to this?
Stack trace:
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
Hi Zemi.
I've trided to add sort to table, and when i put pages:sort into code I get exception "Input cannot be null". As far as I know there shouldn't be null pointers in my collection. Do you have an idea what could lead to this?
Stack trace:
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateProcessingException: Error during execution of processor 'org.thymeleaf.standard.processor.attr.StandardTextAttrProcessor' (/account/contests:35)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
net.sourceforge.pagesdialect.ExportFilter.doFilter(ExportFilter.java:43)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
root cause
org.thymeleaf.exceptions.TemplateProcessingException: Error during execution of processor 'org.thymeleaf.standard.processor.attr.StandardTextAttrProcessor' (/account/contests:35)
org.thymeleaf.processor.AbstractProcessor.process(AbstractProcessor.java:223)
org.thymeleaf.dom.Node.applyNextProcessor(Node.java:805)
org.thymeleaf.dom.Node.processNode(Node.java:767)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
org.thymeleaf.dom.Node.processNode(Node.java:785)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
org.thymeleaf.dom.Node.processNode(Node.java:785)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
org.thymeleaf.dom.Node.processNode(Node.java:785)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
org.thymeleaf.dom.Node.processNode(Node.java:785)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
org.thymeleaf.dom.Node.processNode(Node.java:785)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
org.thymeleaf.dom.Node.processNode(Node.java:785)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
org.thymeleaf.dom.Node.processNode(Node.java:785)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
org.thymeleaf.dom.Node.processNode(Node.java:785)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
org.thymeleaf.dom.Node.processNode(Node.java:785)
org.thymeleaf.dom.Document.process(Document.java:90)
org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1029)
org.thymeleaf.TemplateEngine.process(TemplateEngine.java:978)
org.thymeleaf.spring3.view.ThymeleafView.render(ThymeleafView.java:460)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1157)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:927)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:827)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
net.sourceforge.pagesdialect.ExportFilter.doFilter(ExportFilter.java:43)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
root cause
java.lang.IllegalArgumentException: Input cannot be null
org.thymeleaf.util.Validate.notNull(Validate.java:37)
org.thymeleaf.standard.expression.StandardExpressionParser.parseExpression(StandardExpressionParser.java:69)
org.thymeleaf.standard.expression.StandardExpressionProcessor.parseExpression(StandardExpressionProcessor.java:53)
org.thymeleaf.standard.expression.StandardExpressionProcessor.processExpression(StandardExpressionProcessor.java:91)
org.thymeleaf.standard.processor.attr.AbstractStandardTextChildModifierAttrProcessor.getText(AbstractStandardTextChildModifierAttrProcessor.java:60)
org.thymeleaf.processor.attr.AbstractTextChildModifierAttrProcessor.getModifiedChildren(AbstractTextChildModifierAttrProcessor.java:59)
org.thymeleaf.processor.attr.AbstractChildrenModifierAttrProcessor.processAttribute(AbstractChildrenModifierAttrProcessor.java:58)
org.thymeleaf.processor.attr.AbstractAttrProcessor.doProcess(AbstractAttrProcessor.java:74)
org.thymeleaf.processor.AbstractProcessor.process(AbstractProcessor.java:212)
org.thymeleaf.dom.Node.applyNextProcessor(Node.java:805)
org.thymeleaf.dom.Node.processNode(Node.java:767)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
org.thymeleaf.dom.Node.processNode(Node.java:785)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
org.thymeleaf.dom.Node.processNode(Node.java:785)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
org.thymeleaf.dom.Node.processNode(Node.java:785)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
org.thymeleaf.dom.Node.processNode(Node.java:785)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
org.thymeleaf.dom.Node.processNode(Node.java:785)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
org.thymeleaf.dom.Node.processNode(Node.java:785)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
org.thymeleaf.dom.Node.processNode(Node.java:785)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
org.thymeleaf.dom.Node.processNode(Node.java:785)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
org.thymeleaf.dom.Node.processNode(Node.java:785)
org.thymeleaf.dom.Document.process(Document.java:90)
org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1029)
org.thymeleaf.TemplateEngine.process(TemplateEngine.java:978)
org.thymeleaf.spring3.view.ThymeleafView.render(ThymeleafView.java:460)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1157)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:927)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:827)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
net.sourceforge.pagesdialect.ExportFilter.doFilter(ExportFilter.java:43)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.22 logs.
Apache Tomcat/7.0.22
Hi KubaSz,
I think this has been already fixed in trunk.
Which version are you using? Could you try 1.0.0-beta3-SNAPSHOT?
If you're using Maven you need to configure the Sonatype snapshot repository, as in http://www.thymeleaf.org/faq.html#use-snapshot
If you're not using Maven, I could release beta3 in a few hours.
I've changed version to 1.0.0-beta3-SNAPSHOT and still see the same error.
If you think I can provide additional clues - just ask :)
Could you post the code with the pages:sort attribute?
Something like
< th pages:sort="name" th:text="#{name}" >...< /th >
Could you try if it works removing the th:text expression?
< th pages:sort="name" >...< /th >
You were right.
I have:
< th pages:sort="contest.name" th:text="#{account.contests.contest}">< / th>
When I changed it to:
< th pages:sort="contest.name">Bla bla< / th>
it works.
Last edit: Jose Miguel Samper 2012-05-29
Ok, thank you. I'll try to reproduce and fix it.