主题 : 关于cms_channel_list 问题
级别: 秀才
UID: 60887
积分:80 加为好友
威望: 7 精华: 0
主题:14 回复:57
注册时间:2014-04-21
在线时长:0
1#   发表于:2014-06-30 16:07:56  IP:27.128.*.*
[@cms_channel id='245']{"id":1,"text":"${tag_bean.name}","parentid":0},[/@cms_channel]</br>
[@cms_channel_list parentId='245']
[#list tag_list as c]
{"id":${c.id},"text":"${c.name}","parentid":${c.parent.id}},</br>
[@cms_channel_list parentId=c.id]
[#if tag_list?size>0]
[#list tag_list as c0]
{"id":${c0.id},"text":"${c0.name}","parentid":${c0.parent.id}},</br>
[@cms_channel_list parentId=c0.id]
[/@cms_channel_list]
[/#list]
[/#if]
[/@cms_channel_list]
[/#list] 
[/@cms_channel_list]

循环出父级栏目下的子栏目,我循环第二层的时候还没有问题。但是我写第三层的时候,不管我我把parentId 写成动态的还是 写死都会报错。





HTTP Status 500 - Request processing failed; nested exception is java.lang.NullPointerException

type Exception report

message Request processing failed; nested exception is java.lang.NullPointerException

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 java.lang.NullPointerException
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:656)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
com.jeecms.common.web.ProcessTimeFilter.doFilter(ProcessTimeFilter.java:35)
root cause

java.lang.NullPointerException
com.jeecms.cms.action.directive.ChannelListDirective.execute(ChannelListDirective.java:77)
freemarker.core.Environment.visit(Environment.java:263)
freemarker.core.UnifiedCall.accept(UnifiedCall.java:126)
freemarker.core.Environment.visit(Environment.java:210)
freemarker.core.MixedContent.accept(MixedContent.java:92)
freemarker.core.Environment.visit(Environment.java:210)
freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179)
freemarker.core.Environment.visit(Environment.java:417)
freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)
freemarker.core.Environment.visit(Environment.java:210)
freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
freemarker.core.Environment.visit(Environment.java:210)
freemarker.core.Environment$1.render(Environment.java:235)
com.jeecms.cms.action.directive.ChannelListDirective.execute(ChannelListDirective.java:77)
freemarker.core.Environment.visit(Environment.java:263)
freemarker.core.UnifiedCall.accept(UnifiedCall.java:126)
freemarker.core.Environment.visit(Environment.java:210)
freemarker.core.MixedContent.accept(MixedContent.java:92)
freemarker.core.Environment.visit(Environment.java:210)
freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179)
freemarker.core.Environment.visit(Environment.java:417)
freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)
freemarker.core.Environment.visit(Environment.java:210)
freemarker.core.Environment$1.render(Environment.java:235)
com.jeecms.cms.action.directive.ChannelListDirective.execute(ChannelListDirective.java:77)
freemarker.core.Environment.visit(Environment.java:263)
freemarker.core.UnifiedCall.accept(UnifiedCall.java:126)
freemarker.core.Environment.visit(Environment.java:210)
freemarker.core.MixedContent.accept(MixedContent.java:92)
freemarker.core.Environment.visit(Environment.java:210)
freemarker.core.Environment.process(Environment.java:190)
freemarker.template.Template.process(Template.java:237)
com.jeecms.common.web.springmvc.SimpleFreeMarkerView.renderMergedTemplateModel(SimpleFreeMarkerView.java:111)
org.springframework.web.servlet.view.AbstractTemplateView.renderMergedOutputModel(AbstractTemplateView.java:167)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
com.jeecms.common.web.ProcessTimeFilter.doFilter(ProcessTimeFilter.java:35)
级别: 状元
UID: 33380
积分:50625 加为好友
威望: 21 精华: 3
主题:88 回复:30687
注册时间:2012-05-07
在线时长:0
2#   发表于:2014-06-30 16:13:45  IP:182.253.*.*
java.lang.NullPointerException 你这是有空值吧
功成由勤,业精于勤。
级别: 秀才
UID: 60887
积分:80 加为好友
威望: 7 精华: 0
主题:14 回复:57
注册时间:2014-04-21
在线时长:0
3#   发表于:2014-06-30 16:16:31  IP:27.128.*.*
回复第2楼
开始的时候我也怀疑是空值。所以就一层一层的输出。第一层输出没有任何问题,第二层也没有任何问题。刚到第三层只写[@cms_channel_list parentId=254] [/@cms_channel_list]也会报同样的错误。所以我觉得不是空值问题。
级别: 总版主
UID: 10736
积分:149787 加为好友
威望: 212 精华: 42
主题:297 回复:127674
注册时间:2010-09-08
在线时长:90.1
4#   发表于:2014-06-30 16:18:56  IP:182.253.*.*
{"id":${c0.id},"text":"${c0.name}","parentid":${c0.parent.id}},</br> 你这个标签这么写是什么意思?好像没有这个写法吧
路漫漫其修远兮,吾将上下而求索!
级别: 秀才
UID: 60887
积分:80 加为好友
威望: 7 精华: 0
主题:14 回复:57
注册时间:2014-04-21
在线时长:0
5#   发表于:2014-06-30 16:23:40  IP:27.128.*.*
回复第4楼
我拼出来的数据。。。不影响程序吧?而且我只是在页面输出。
级别: 状元
UID: 33380
积分:50625 加为好友
威望: 21 精华: 3
主题:88 回复:30687
注册时间:2012-05-07
在线时长:0
6#   发表于:2014-06-30 16:25:18  IP:182.253.*.*
这写法有影响,,"text":这个是取的什么?根本取不到数据呀
功成由勤,业精于勤。
级别: 秀才
UID: 60887
积分:80 加为好友
威望: 7 精华: 0
主题:14 回复:57
注册时间:2014-04-21
在线时长:0
7#   发表于:2014-06-30 16:27:39  IP:27.128.*.*
回复第6楼
我想拼成一个JSON。。。
而且我写在JS里面 我只是在页面上输出,看看格式是否正确,但是在第三层的时候就是不行~!
级别: 状元
UID: 33380
积分:50625 加为好友
威望: 21 精华: 3
主题:88 回复:30687
注册时间:2012-05-07
在线时长:0
8#   发表于:2014-06-30 16:28:46  IP:182.253.*.*
这不是我们标签,您自己写的要你自己去找原因了
功成由勤,业精于勤。
级别: 秀才
UID: 60887
积分:80 加为好友
威望: 7 精华: 0
主题:14 回复:57
注册时间:2014-04-21
在线时长:0
9#   发表于:2014-06-30 16:31:25  IP:27.128.*.*
回复第8楼

[@cms_channel id='245']${tag_bean.name}[@cms_channel]</br>
[@cms_channel_list parentId='245']
[#list tag_list as c]
${c.id}
[@cms_channel_list parentId=c.id]
[#if tag_list?size>0]
[#list tag_list as c0]
${c.id}
[@cms_channel_list parentId='854']
[/@cms_channel_list]
[/#list]
[/#if]
[/@cms_channel_list]
[/#list] 
[/@cms_channel_list]


这样没有我自己的标签了吧?也不行啊?不信你试试 ~!
级别: 状元
UID: 33380
积分:50625 加为好友
威望: 21 精华: 3
主题:88 回复:30687
注册时间:2012-05-07
在线时长:0
10#   发表于:2014-06-30 16:38:30  IP:182.253.*.*
[@cms_channel_list parentId=channel.id]  
[#list tag_list as c]  
<li><a href="${c.url}">${c.name}</a></li>  
[@cms_channel_list parentId=c.id]  
[#list tag_list as c1]  
<li class="list2"><a href="${c1.url}">${c1.name}</a></li>  
[/#list]  
[/@cms_channel_list]  三级栏目这么获取
[/#list]  
[/@cms_channel_list] 
功成由勤,业精于勤。
1 2 > >| 共2页