主题 : 搜索功能,搜索结果页面,[#list tag_list as s] ${s.title!} [/#list],这个list循环内容为空
级别: 秀才
UID: 122465
积分:54 加为好友
威望: 6 精华: 0
主题:8 回复:68
注册时间:2018-04-26
在线时长:0
1#   发表于:2018-05-10 08:50:59  IP:60.134.*.*
搜索页面,搜索结果出不来,返回错误是:
严重: Servlet.service() for servlet [JeeCmsFront] in context with path [/zkhzcms] threw exception [Request processing failed; nested exception is freemarker.core.NonStringOrTemplateOutputException: For "${...}" content: Expected a string or something automatically convertible to string (number, date or boolean), or "template output" , but this has evaluated to a macro+misc_template_model (wrapper: f.c.Macro):
==> s.url  [in template "WEB-INF/t/cms/www/default/special/search_result.html" at line 38, column 46]

----
FTL stack trace ("~" means nesting-related):
- Failed at: ${s.url}  [in template "WEB-INF/t/cms/www/default/special/search_result.html" at line 38, column 44]
- Reached through: @cms_lucene_page q=q channelId=channe...  [in template "WEB-INF/t/cms/www/default/special/search_result.html" at line 33, column 5]
----] with root cause
FreeMarker template error:
For "${...}" content: Expected a string or something automatically convertible to string (number, date or boolean), or "template output" , but this has evaluated to a macro+misc_template_model (wrapper: f.c.Macro):
==> s.url  [in template "WEB-INF/t/cms/www/default/special/search_result.html" at line 38, column 46]

----
FTL stack trace ("~" means nesting-related):
- Failed at: ${s.url}  [in template "WEB-INF/t/cms/www/default/special/search_result.html" at line 38, column 44]
- Reached through: @cms_lucene_page q=q channelId=channe...  [in template "WEB-INF/t/cms/www/default/special/search_result.html" at line 33, column 5]
----

Java stack trace (for programmers):
----
freemarker.core.NonStringOrTemplateOutputException: [... Exception message was already printed; see it above ...]
at freemarker.core.EvalUtil.coerceModelToTextualCommon(EvalUtil.java:492)
at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:374)
at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:96)
at freemarker.core.DollarVariable.accept(DollarVariable.java:59)
at freemarker.core.Environment.visit(Environment.java:363)
at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:316)
at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:272)
at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:243)
at freemarker.core.Environment.visitIteratorBlock(Environment.java:596)
at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:108)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:94)
at freemarker.core.Environment.visit(Environment.java:363)
at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:2802)
at com.jeecms.cms.lucene.LuceneDirectivePage.execute(LuceneDirectivePage.java:86)
at freemarker.core.Environment.visit(Environment.java:427)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:101)
at freemarker.core.Environment.visit(Environment.java:327)
at freemarker.core.Environment.visit(Environment.java:333)
at freemarker.core.Environment.visit(Environment.java:333)
at freemarker.core.Environment.process(Environment.java:306)
at freemarker.template.Template.process(Template.java:386)
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:303)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1286)
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1041)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:984)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.jeecms.common.web.XssFilter.doFilter(XssFilter.java:43)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:151)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.jeecms.common.web.ProcessTimeFilter.doFilter(ProcessTimeFilter.java:35)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387)
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
级别: 论坛管理员
UID: 122721
积分:57884 加为好友
威望: 2 精华: 1
主题:5 回复:50085
注册时间:2018-05-07
在线时长:0
2#   发表于:2018-05-10 08:54:18  IP:115.233.*.*
回复第1楼那请问是在哪个页面进行搜索的?
每天告诉自己一次,“我真的很不错”。
级别: 秀才
UID: 122465
积分:54 加为好友
威望: 6 精华: 0
主题:8 回复:68
注册时间:2018-04-26
在线时长:0
3#   发表于:2018-05-10 08:55:51  IP:60.134.*.*
回复第2楼:首页。在其他页面也是这样,我是把搜索放到top.html里了,每个页面都有引用这个top.html
级别: 版主
UID: 121385
积分:34048 加为好友
威望: 0 精华: 0
主题:0 回复:32073
注册时间:2018-03-20
在线时长:0
4#   发表于:2018-05-10 09:00:49  IP:115.233.*.*
回复第3楼top.html是您自己建的页面吗?
世间没有一种具有真正价值的东西,可以不经过艰苦辛勤劳动而能够得到的。
级别: 秀才
UID: 122465
积分:54 加为好友
威望: 6 精华: 0
主题:8 回复:68
注册时间:2018-04-26
在线时长:0
5#   发表于:2018-05-10 09:02:46  IP:60.134.*.*
回复第4楼:好像是。我自己写了一个index.html,但是搜索的代码都是按照下载下来的default文件夹里面来的
级别: 论坛管理员
UID: 122721
积分:57884 加为好友
威望: 2 精华: 1
主题:5 回复:50085
注册时间:2018-05-07
在线时长:0
6#   发表于:2018-05-10 09:05:57  IP:115.233.*.*
回复第5楼那您有外网地址吗?   发下   我们好去看下   你新写了什么! 
每天告诉自己一次,“我真的很不错”。
级别: 秀才
UID: 122465
积分:54 加为好友
威望: 6 精华: 0
主题:8 回复:68
注册时间:2018-04-26
在线时长:0
7#   发表于:2018-05-10 09:08:46  IP:60.134.*.*
回复第4楼:这个是top.html的全部代码

<script>
function qkeypress(){
var q=$("input[name=q]");
if(q.val().trim()!=""){
$("input[name=q]").autocomplete("enable");
}else{
$("input[name=q]").autocomplete("disable");
}
}
function query(){
$.post("${base}/createToken.jspx", {}, function(data) {
$("#token").val(data.token);
$("#searchForm").submit();
}, "json");
}
$(function() {
$("input[name='q']").bind('keypress',function(event){
    if(event.keyCode == 13)     
    {  
     event.preventDefault();
     query();
    }  
});
});
</script>
<section class="top">
  <div class="top-main">
     <a href="${base}/" class="home-a"><img src="/${res}/images/sw-mystart-home.png">网站首页</a>
  <div class="top-r">     
      <div class="search">
        <form action="${base}/search.jspx" target="_blank" name="searchForm" id="searchForm">
        <input type="text" name="q" value="${oldq!}"  placeholder="全站搜索" maxlength="50" autocomplete="off" class="searchCon">
        <input type="hidden" name="token" id="token" value="${token!}" />
        <input type="button" value="" class="searchMenu" onclick="query()" >
        </form>
      </div>    
      
  </div>
  </div>
</section>



这个是special文件夹下面search_result.html的内容:
<!DOCTYPE HTML>
<html>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>3333全文检索列表 - ${site.name}</title>
<link href="${resSys}/front.css" rel="stylesheet" type="text/css"/>
<link href="${resSys}/jqueryUI/jquery.ui.css" rel="stylesheet" type="text/css"/>
<script src="${resSys}/jquery.js" type="text/javascript"></script>
<script src="${resSys}/jqueryUI/jquery-ui.js" type="text/javascript"></script>
<script src="${resSys}/front.js" type="text/javascript"></script>
<script src="/${res}/js/common.js" type="text/javascript"></script>
<link type="text/css" rel="stylesheet" href="/${res}/css/home.css" />

<!--[if lt IE 9]> 
<script src="/${res}/js/html5shiv.min.js"></script>
<script src="/${res}/js/respond.min.js"></script>
<![endif]-->
<script type="text/javascript">
$(function() {
Cms.siteFlow("${base}", location.href, document.referrer, "${site.config.flowSwitch?string}");
});
</script>

</head>

<body>
[#include "../include/top.html"/]
[#include "../include/header.html"/]
<div class="main container clearfix">
  [#if q??]
   [@cms_lucene_page q=q channelId=channelId startDate=startDate endDate=endDate descLen='170' append='...' count='10' ]
    <div class="searchNav">您搜索的“<span>${input!}</span>”, 共有<span>${tag_pagination.totalCount!}</span>个结果</div>
    <div class="searchList">
       [#list tag_list as s]
       ${s.title!} 333 <!-- 这个s.title取不到任何东西。但是这个333循环了很多遍。  上面的:您搜索的“<span>${input!}</span>,还有共有几个结果,都可以取到值。-->
      [/#list]
    </div>
   <div class="pagination">[@cms_pagination sysPage='1'/]</div>
   [/@cms_lucene_page]
  [/#if]
    
  
</div>
[#include "../include/footer.html"/]
[#include "../include/right-fixed.html"/]
</body>
</html>
级别: 秀才
UID: 122465
积分:54 加为好友
威望: 6 精华: 0
主题:8 回复:68
注册时间:2018-04-26
在线时长:0
8#   发表于:2018-05-10 09:12:44  IP:60.134.*.*
回复第6楼;没有外网地址,但是你可以远程我,我加你qq,可以吗
级别: 版主
UID: 121385
积分:34048 加为好友
威望: 0 精华: 0
主题:0 回复:32073
注册时间:2018-03-20
在线时长:0
9#   发表于:2018-05-10 09:12:59  IP:115.233.*.*
回复第7楼您这个top.html就是首页吧?
世间没有一种具有真正价值的东西,可以不经过艰苦辛勤劳动而能够得到的。
级别: 秀才
UID: 122465
积分:54 加为好友
威望: 6 精华: 0
主题:8 回复:68
注册时间:2018-04-26
在线时长:0
10#   发表于:2018-05-10 09:16:39  IP:60.134.*.*
回复第9楼:首页是index.html,这个top.html,是首页的一部分,其他每个页面我也都引用了这个top.html,比如新闻页啊,内容详情页啊,都引用了这个top.html.这个top.html只是首页的一部分
1 2 > >| 共2页