使用FreeMarker生成数据,模板明明没错却一直报错“The following has evaluated to null or missing:”

今天使用FreeMarker生成数据时一直报错,错误信息是“The following has evaluated to null or missing:”,告知我找不到值。

但是我再三确认,这些属性的值都是正常的,也就是说某些原因造成FreeMarker无法读取到这些值。困扰了我将近两个小时后,经过各种尝试后,终于被我发现了原因:

FreeMarker读取数据的时候不支持属性名首字母大写(但是支持变量名全大写的属性)!将变量名全部改为小写后,数据就正常生成了。

因为我也只是个初学者(事实上我昨天才知道FreeMarker),不太清楚底层的原理,不过我想可能是FreeMarker在获取属性值的时候使用的是(例)“name”而不是“Name”,这才导致无法获取到值。

原文地址:https://www.cnblogs.com/BlackString/p/10311810.html

时间: 2024-10-03 21:53:51

使用FreeMarker生成数据,模板明明没错却一直报错“The following has evaluated to null or missing:”的相关文章

kendo模板 Uncaught Error: Invalid template:' 报错

I was having a problem with a grid toolbar template because of a # in a hrefWorked out that I needed to excape the # with \\\ and not \\ <script type="text/x-kendo-template" id="toolbarTemplate">     <div class='toolbar'>  

前端ajax用post方式提交json数据给后端时,网络报错 415

项目框架:spring+springmvc+mybatis 问题描述:前端ajax用post方式提交json数据给后端时,网络报错 415 前端异常信息:Failed to load resource: the server responded with a status of 415 (Unsupported Media Type) 后端异常信息:无 报错原因:缺少jackson包 类似问题注意点: springmvc添加配置.注解: pom.xml添加jackson包引用: Ajax请求时没

C#数据没初始化,使用会报错,可以初始化null

protected void Page_Load(object sender, EventArgs e) { string[] A; if (B== 0) { A = new string[] {1,2,3,4,5 }; } funD(A); } 这样会在funD(A);报错,使用了未赋值的局部变量"A" 要这样 protected void Page_Load(object sender, EventArgs e){ string[] A = null; if (B== 0)  {

org.eclipse.wst.common.project.facet.core.xml文件模板,解决eclipse编译报错。

<?xml version="1.0" encoding="UTF-8"?> <faceted-project> <fixed facet="wst.jsdt.web"/> <fixed facet="jst.web"/> <fixed facet="java"/> <installed facet="jst.web" v

zabbix3导入percona模板文件的报错处理方法

1.监控mysql的时候想使用percona模板,直接导入,却发现以下信息:2.如下图所示,出现时间格式的报错 Import failed Invalid XML tag "/zabbix_export/date": "YYYY-MM-DDThh:mm:ssZ" is expected. 3.根据错误提示,尝试进行以下操作4.然后再次上传模板,出现新的报错信息查找资料,分析,将模板导入到zabbix2.4版本中,然后导出到zabbix3,就不会出现类似报错,由于没有

从数据库中取出数据,使用freemarker生成word文档

这个星期做数据字典功能,有一项任务就是将数据库中的每个表的字段导出,生成word文档,在综合比较网上各种技术之后,参照csdn上骆豪的博客完成了任务. 骆昊的链接:http://blog.csdn.net/jackfrued/article/details/39449021 首先打开word文档,建立自己所需要的模板,然后将word保存为XML的格式,这里可能出现的一个问题就是需要填入的内容放上${}占位符的时候可能会出现字符分离的情况,所以建议先将需要用${}占位符的地方用中文写在word里然

FreeMarker之根据模板生成Java代码

FreeMarker根据模板生成Java代码,光这句话,大家想必也知道它的应用了,比如流行的DRY原则,该原则的意思,可简单概述为"不要写重复的代码". 比如Java中三层架构,数据访问层,业务逻辑层,表现层,光这三层就出现重复性的增删改查及其相关的界面代码. 如何不写重复的增删改查相关的代码,可以参考我的MP实战系列文章和MyBatis的逆向工程(针对Java相关框架): mybatis逆向工程之maven工程 MP实战系列(六)之代码生成器讲解 其中MP实战系列(六)之代码生成器讲

FreeMarker生成word的代码

 用于生成word用的freemarker工具类 package com.ucap.netcheck.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStreamWriter; import java.i

使用freemarker生成word,步骤详解并奉上源代码

1.   步骤 1.    用word编辑好模板 1. 普通字符串替换为 ${string} 2. 表格循环用标签 <#list userList as user> 姓名:${user.userName} , 性别:${user.sex} </#list> word模板原型如下图: 最终生成的结果如下: 2.    将word模板另存为xml格式 选中 [ 仅保存数据 ] 选择 [ 保持wordML(K) ] 3.    将xml模板文件后缀名改为.ftl 4.    编辑ftl文