freemarker #assign 问题

java后端:
List signDays = new ArrayList();
...list.add("1")
list.add("2")...
request.setAttribute("signDays", signDays);

用了freemarker 的前端:
<#assign num = "${l}"/>
<#assign signDays = "${signDays}"/>
<#if signDays?seq_contains(num)>

我反复看了 很多遍 感觉没错

最后报错:
[ERROR] 09:24:44.152 [http-apr-8088-exec-7] freemarker.runtime - Error executing FreeMarker template

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 sequence (wrapper: f.t.SimpleSequence):

==> signDays [in template "point/point.htm" at line 72, column 88]

0

1个回答

<#assign signDays = "${signDays}"/>
去掉这一行

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
FreeMarker中assign指令的用法
assign指令的用法有多种,包含创建或替换一个顶层变量,或者创建或替换多个变量等,     它的最简单的语法如下:       ,       这个用法用于指定一个名为name的变量,该变量的值为value,       此外,FreeMarker允许在使用assign指令里增加in子句,       in子句用于将创建的name变量放入namespacehash命名空间中.
freemarker中变量范围,assign,以及用.globals,已经循环变量的讨论
1:正常获取模版中的assign声明的变量的值 结果如下:     2:当数据模型中存在与模版中变量同样的变量的时候,发生的冲突     输出结果:   造成这样的原因是,变量的范围,在freemarker中,如果模版中与数据模型中存在同样的变量的时候,优先取模版assign声明的变量的值。 当数据模型中声明的变量与freemarkerassign声明的变量
freemark base路径的几种方式
1. src="${base}/js/jquery-1.8.3.min.js"> 2. src="${request.contextPath}/js/jquery-1.8.3.min.js"> 3. public class BasePathInterceptor extends HandlerInterceptorAdapter { private stati
FreeMarker变量作用域测试
${x} ${x} ${x} ${x} ${x} ${x} ${x} ${x} local > assing > global -->
freemarker的使用心得
freemarker虽然很强大但是能熟练使用的人却很少,相信通过这篇文章一定会对freemarker有更深的认识。
利用freemarker 指令分页(宏,assign等)
freemarker分页,首先在web.xml中做好配置(这里说的配置就是让web过滤我们的freemarker指令)。 下面是代码: &amp;lt;#assign currentPage=(RequestParameters[&quot;currentPage&quot;]?number)!1&amp;gt;//传入的当前页,如果没有传入,默认就是第一页。 &amp;lt;#assign count=reply.count...
freemarker变量自加
[#assign i = 0] [#list dateList as item] [#assign i = i + 1] ${item} [/#list] 这样可以实现自增i了,而freemarker不允许 i++  或者是 i += 1 语法不支持的
freemarker错误总结
今天开始学习了一下freemarker,遇到了几个错误,现在总结一下: 1,使用内建函数String格式化时的错误, ${test3?string("0.##")} 我看到文档上都是这样写的,但是我一执行却报错了,后面才知道,如果变量已经是String类型的了,再使用String进行格式化就会报错,如果把上述代码修改成 ${test3?string("0.##")}就OK了。
freemarker中定义数组
['北京','010'], ['上海','021'] ] > ${it[0]}   ${it[1]} 正确输出了: 北京   010 上海   021
freemarker声明变量
freemarker声明变量 1、使用assign创建和替换变量 (1)新建声明变量的ftl variable.ftl: 定义变量 ${name} ${name} (2)运行Junit方法 /** * * @Title:test
Freemarker常用操作练习
<@button id="tt" url="/demo/save" text="测试" icon="save" formid="ff" onclick="test" oncomplete="alert('11');" /> <@select id="ss" style="width:80px;" value="${selectValue}" lableName="label"
jquery freemarker模板设置变量每次循环加1
${idNum }
freemarker 使用spring security标签进行权限判断以及错误解决
freemarker  使用spring security标签进行权限判断,配置起来非常简单。 网上有很多例子,简单配置步骤如下:  pom.xml 中加入spring security支持 org.springframework.security spring-security-taglibs
freemarker中的substring取子串(十四)
freemarker中的substring取子串   假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这个魔咒,假如你想体验BAT的工作环境,那么现在请我们一起开启提升技术之旅吧,详情请点击http://106.12.206.16:8080/qingruihappy/index.html 1、substring取子串介绍 ...
Freemarker 数据进行计算的一些问题
我需要取到根元素root --&amp;gt;List&amp;lt;Map&amp;lt;String, Object&amp;gt;&amp;gt; 的一些数据进行数学运算: 准备一些原始数据: List&amp;lt;Map&amp;lt;String, Object&amp;gt;&amp;gt; queryForListTest=new ArrayList&amp;lt;Map&amp;lt;String, Object&amp;gt;&amp;gt;(); Map&amp;lt;Str
freemarker高级用法
1, ?interpret  能够将文本的值解析为宏,类似动态指令用法如下    ${y}">       其中"${y}"可以是从数据库中读取出来的文本型指令,方便动态执行指令  2, ?new  模版里创建一个java对象,而不是传入进去的    还可以在new的时候加参数,如    3, !!和??  两个简写符号,可以让我偷电缆(偷点懒)  ${
freemaker获取地址栏参数
您有一条新消息 1、首先把参数带到地址栏 2、现获取地址栏参数 3.判断
用FreeMarker来解析json数据
1 2 3 4 5 6 7 8 9 10 11 12 13 #assign text="{'name':'opal','age':'30+','addr':'上海上海'}" /> #assign data=text?eval /> #assign ncnt=10000 /> data.name=${data.name} var="tm">
在项目中结合使用 assign 和js_string
[#if t.description??]                 [@text_cut s=t.description len=30 append='...'/]                 [#else]                 [#assign x]                 [@text_cut s=t.txt len=30 append=append
freemark的判断、赋值、循环
循环 [#list XXXX as XX] [/#list] 判断 [#if  XXXX.xx == ?? ] [/#if] 赋值 [#assignXXXX = ??]
Struts2在FreeMarker中国际化的配置
   在Struts2中使用FreeMarker作为表现层已经基本作为普遍配置了。但是熟悉JSP的开发者习惯了JSP标签的使用,而FreeMarker中确实宏的使用,二者虽然有些差别,但是使用上能够很快过渡。      国际化是Java EE项目中一个不可缺少的部分,当然不是每个项目所必需的,但关键时刻却是不能避免的。当然也有项目做两个路径来进行,把语言区分开来,这也是可以的,当然这需要大量的劳动...
FreeMarker的四种基本数据类型及其序列和哈希表
这里分两块来说:四种基本数据类型、序列和哈希表 [java] view plaincopyprint? package com.jadyer.util;    import java.io.BufferedWriter;  import java.io.File;  import java.io.FileOutputStream;  import java.
freemarker日期以及字符串连接
首先我们在java文件中绑定数据, root.put("now",new Date());  并将它绑定到模板中,之后我们使用${now}对时间进行输出。 这个时候就会发现会产生异常,这是因为freemarker不能自动把日期转换成字符串 这个时候就需要我们手动的转换 ${now?string("yyyy-MM-dd HH:mm:ss")} 这样我们就可以输出时间了 假如我们使用${n
FreeMarker的使用(转)
. FreeMarker是一个非常优秀的模板引擎,这个模板引擎可用于任何场景,FreeMarker负责将数据模型中的数据合并到模板中,从而生成标准输出.界面开发人员只需要关于界面(也就是模板文件)的开发,而业务逻辑开发者只需要负责将需要显示的数据填入数据模型-----FreeMarker负责合并数据模型和模板,从而生成标准输出. FreeMarker特别适应于MVC模式的Web应用,虽...
freemarker保留两位小数
freemarker保留两位小数 方法一 #{number ;m1M2} m 最少几位小数,M最多几位小数 方法二 ${x?string("0.##")}  在开发中很容易忽视一点,输入一个值(可能是小数),输出时如果不做处理,就很容易出现  隐形的BUG。比如,如果从数据库取出一个0.22的数值,一般的输出${x?if_exists?html}, 
freemarker的内部变量,特殊变量
特殊变量是由FreeMarker引擎自己定义的变量。要访问它们,你可以使用.variable_name语法。比如,你不能仅仅写version,而必须写.version。 支持的特殊变量有:  data_model:你可以使用来直接访问数据模型的哈希表。也就是,你使用global指令定义在这里不可见的的变量。  error(从FreeMarker 2.3.1版本开始可用):这个变量在rec...
freemarker一些基础使用方法
FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成:  1,文本:直接输出的部分  2,注释:格式部分,不会输出  3,插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出  4,FTL指令:FreeMarker指定,和HTML标记类似,名字前加#予以区分,不会输出  下面是一个FreeMarker模板
freemarker用过的基本的标签
仅供自己学习、参考 include、import   &amp;lt;#import &quot;../common/spring.ftl&quot; as spring /&amp;gt;     &amp;lt;#include &quot;header.ftl&quot; parse=true encoding=&quot;utf-8&quot;&amp;gt;    -- 获取项目跟路径 &amp;lt;#assign ctx=request.contextPath/&amp;..
Freemarker字符串拼接
Freemarker字符串拼接     1、字符串拼接的几种类型       (1)字符串和字符串       (2)字符串和数字       (3)字符串和字符串变量       (4)字符串变量和字符串变量   2、演示示例   &amp;lt;#--定义字符串--&amp;gt; &amp;lt;#assign str = &quot;张三丰&quot;/&amp;gt; ${str} &amp;l...
struts2与freemarker国际化操作
struts2 自带一个拦截器&amp;lt;interceptor name=&quot;i18n&quot; class=&quot;com.opensymphony.xwork2.interceptor.I18nInterceptor&quot;/&amp;gt;源码简单分析下:I18nInterceptor.CookieLocaleFinder localeFinder = new I18nInterceptor.CookieLocaleFin...
freemarker自定义指令及方法
“一节复一节,千枝攒万叶”竹子每生长一段就会总结一下打个节,今天我也总结一下最近处理的一个小问题,希望我的小节,对各位看官有所帮助。 背景描述: 最近项目做了一个月报功能,由于生产环境不是所有人都能访问,“皇上”提出要求要求把月报方式到订阅者的邮箱。亲需求一段话,开发两行泪啊。这种问题本人想到的方案也就两种,第一将网页保存为图片然后发送邮件,第二生成静态页面然后发送邮件。第一种需要一下人工参与
Freemark的使用总结
1、关于list和map的取值以及if的使用 hello:${emp.name}---${emp.id}----${emp.age} ${emp.name}是童工 ${emp.name}应该退休了 ${emp.name}好好工作 ${emp.id}-----${emp.name}---${emp.age} ${user["1"]} ${key}-
freemarker如何判空容错
freemarker如何判空容错呢?  freemark是什么? freemark是java后台的模板语言 如果模板使用vm中没有的变量就会报错 怎么办呢? 针对使用场景分为两种: (1)用于页面显示   &amp;lt;span class=&quot;info-date&quot;&amp;gt;${old_order_startTime!'--'}  使用感叹号,如果没有设置值,就使用感叹号后面的”–”为默认值  ...
FreeMarker模板引擎
FreeMarker介绍: FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写。它是为Java程序员提供的一个开发包。它不是面向最终用户的,而是为程序员提供的一款可以嵌入他们所开发产品的应用程序。 FreeMarker实际上是被设计用来生成HTML Web页面,尤其是通过实现了基于MVC模式的Java Servlet应用程序。使用MVC模式的动态页
在JS中使用Freemaker变量值,利用函数js_string
在js中要获取freemaker中变量的值需要使用freemaker内置函数js_string 1. String内置的JavaScript转换: js_string  用途:用于JavaScript转义,转换',",换行等特殊字符  模板:   alert("${errorMessage?js_string}"); //必须写,否则报错 输出:   alert
FreeMarker - 常用指令和宏
【1】list、break指令 语法格式如下: &amp;lt;#list sequence as item&amp;gt; ... &amp;lt;/#list&amp;gt; item_index:当前变量的索引值. item_has_next:是否存在下一个对象. 示例如下: &amp;lt;#list [&quot;星期一&quot;,&quot;星期二&quot;,&quot;星期三&quot;,&quot;星期四&quot;,&quot;星期五&quot;,&quot;星
fremake标签中添加自增变量
&amp;lt;#assign x=0 /&amp;gt; &amp;lt;#list list as list&amp;gt;  &amp;lt;#assign x=x+1 /&amp;gt;  ${x} &amp;lt;/#list&amp;gt;使用此方法可以在fremake中添加自定义变量,在需要自增的class或者id中可以使用此变量,例如id=&quot;marquePic${x}&quot;如果是在jeecms中添加,需要把两端的&amp;lt;&amp;gt;改成[ ]。...
freemarker 数字输出中的逗号问题
在action中 map.put("mynum",1200) , 在ftl模板中${mynum}取值时会显示成 1,2000,会用逗号分隔。 解决办法:${mynum?c} 。 取值时加上 ?c 即可。
freemarker处理循环问题
freemarker不支持for循环,只有通过
spring+freemarker自定义标签开发
  手上的项目现在要支持多平台,多个平台的显示内容大部分相同,但是页面的部分存在区别,为了便于维护,自己开发了一个freemarker的自定义标签check,通过check标签,自动检查&amp;lt;@check&amp;gt;&amp;lt;/@check&amp;gt;之间的内容是显示。 第一步:把页面上不同的平台存在差异的区别起个名字name标识,在zk中配置,每个平台要显示的区域名称的列表,配置示例如下: ...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 区块链问题 ios视频开发问题