主题 : 关于删除全部栏目进入首页抛异常问题
级别: 白丁
UID: 15901
积分:1 加为好友
威望: 0 精华: 0
主题:0 回复:1
注册时间:2011-02-22
在线时长:0
1#   发表于:2011-02-24 18:26:41  IP:210.91.*.*
yin2035,你好

我的版本是3.0.2,进入系统后删除全部栏目(其他内容之前都已删除)。重新建立各个栏目后并在相关栏目添加文件内容。运行“首页”后抛异常出来。

- Expression tag_bean is undefined on line 134, column 77 in WEB-INF/t/cms/www/red/index/首页.html.
Expression tag_bean is undefined on line 134, column 77 in WEB-INF/t/cms/www/red/index/首页.html.
The problematic instruction:
----------
==> ${tag_bean.url} [on line 134, column 75 in WEB-INF/t/cms/www/red/index/??.html]
 in user-directive cms_channel [on line 134, column 45 in WEB-INF/t/cms/www/red/index/??.html]
----------

Java backtrace for programmers:
----------
freemarker.core.InvalidReferenceException: Expression tag_bean is undefined on line 134, column 77 in WEB-INF/t/cms/www/red/index/??.html.
at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)
at freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:134)
at freemarker.core.Dot._getAsTemplateModel(Dot.java:78)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.Expression.getStringValue(Expression.java:93)
at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
at freemarker.core.Environment.visit(Environment.java:210)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:210)
at freemarker.core.Environment$1.render(Environment.java:235)
at com.jeecms.cms.action.directive.ChannelDirective.execute(ChannelDirective.java:72)
at freemarker.core.Environment.visit(Environment.java:263)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:126)
at freemarker.core.Environment.visit(Environment.java:210)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:210)
at freemarker.core.Environment.process(Environment.java:190)
at freemarker.template.Template.process(Template.java:237)
at com.jeecms.common.web.springmvc.SimpleFreeMarkerView.renderMergedTemplateModel(SimpleFreeMarkerView.java:114)
at org.springframework.web.servlet.view.AbstractTemplateView.renderMergedOutputModel(AbstractTemplateView.java:167)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.jeecms.common.web.ProcessTimeFilter.doFilter(ProcessTimeFilter.java:38)
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:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:394)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
-------------------------------------------------------------------------------------------------------分割线---------------------------------------------------------
找到“首页.html”源文件,在40行发现<h2>[@cms_channel id='1']<a href="${tag_bean.url}" target="_blank">${tag_bean.name}</a>[/@cms_channel]</h2> 发现对此模板的解析方法是ChannelDirective.java中execute()方法,断点调试后发现Integer id 得到的是1,而在jc_channel表中已经没有id = 1的记录,请问这个id值为1是不是因为你们模板使用的标签cms_channel id='1' 设定的这个初始值导致的? 请问我的问题该怎样解决?

如有冒犯,请多原谅。
级别: 童生
UID: 10739
积分:3 加为好友
威望: 0 精华: 0
主题:0 回复:3
注册时间:2010-09-08
在线时长:0
2#   发表于:2011-02-25 08:48:07  IP:59.244.*.*
这个是因为模版调用是固定ID调用栏目的,所以前台标签调不出数据报错,只要修改ID即可
级别: 白丁
UID: 15901
积分:1 加为好友
威望: 0 精华: 0
主题:0 回复:1
注册时间:2011-02-22
在线时长:0
3#   发表于:2011-02-25 09:29:56  IP:210.91.*.*
这样是不是把模板写死了?因为用户是不知道如何修改页面标签ID的啊?
级别: 童生
UID: 10739
积分:3 加为好友
威望: 0 精华: 0
主题:0 回复:3
注册时间:2010-09-08
在线时长:0
4#   发表于:2011-02-25 09:47:08  IP:59.244.*.*
是的
1 共1页