If in a template <td>${attribute.value}</td> is used, and value is boolean, the following exception is thrown:
freemarker.core.NonStringException: Error on line 19, column 3 in description.ftl
Expecting a string, date or number here, Expression a.value is instead a freemarker.ext.beans.BooleanModel
- quote: "..Unlike numbers, booleans has no commonly accepted format, not even a
common format within the same page. Like when you show on a HTML page.."
"...The common way of formatting a boolean is like ${washable?string("yes", "no")},
${caching?string("Enabled", "Disabled")}, ${heating?string("on", "off")}, etc..."
- By the other hand, the Features used in the unit test for FeatureTemplate contained no boolean properties. Adding a boolean property to the test data still didn't make the error to show up, as the template used uses <td>${attribute.value.toString()}</td>. Changing the template to use <td>${attribute.value}</td> exposes the error.
- 浏览: 1250226 次
- 性别:
- 来自: 北京
最新评论
-
a785975139:
有用
MySQL Error :SHOW PROFILES -
yijiulove:
弄了半天,参照你的方法解决了.特来感谢,知道可能是先加载,但是 ...
Spring和Mybatis整合时无法读取properties的处理方案 -
chenjinqi1987:
Missing com.sun.jdmk:jmxtools:jar:1.2.1 -
leifeng2:
请问怎么使用,运行之后d盘符没有生产音频文件呢?
java录音程序 -
sundful:
chenghong726 写道你好,我也遇到你这样的问题,按照 ...
Spring和Mybatis整合时无法读取properties的处理方案
相关推荐
FreeMarker支持各种数值类型,包括整数、浮点数和布尔值。表达式的结果会自动转换为适当类型,但也有时候需要显式转换。例如,数字运算可能需要确保所有操作数都是同一类型,否则FreeMarker会尝试进行隐式转换。 ...
- **FreeMarker**支持多种类型的数据,这些数据类型可以用来构建复杂的数据模型,从而在模板中进行丰富的数据展示。 - **数值类型**包括整数、浮点数等,可以直接在模板中使用或通过内置函数进行操作。 ##### 2.2 ...
Freemarker支持多种数据类型,如字符串、数字、布尔值等。通过`?string`、`?number`、`?boolean`等转换操作,可以方便地在不同数据类型间进行转换。 ### 7. 日期和时间处理 Freemarker提供对日期和时间的支持,可以...
问题的核心在于FreeMarker尝试将一个`BooleanModel`对象转换为字符串、日期或数字,但模板引擎期望的是这些基本类型。当尝试直接在模板中使用表达式`${attribute.value}`,而`attribute.value`是一个`BooleanModel`...
- **类型**:详细介绍了 FreeMarker 支持的各种数据类型,如 String、Number、Boolean 等。 ##### 3. 模板 - **总体结构**:概述了模板的基本结构,包括头部、主体等部分。 - **指令**:介绍了 FreeMarker 中的...
FreeMarker支持多种输出格式,包括HTML、XML、JavaScript、Java源代码等。 #### Struts2与FreeMarker的结合 在Struts2中,使用FreeMarker作为视图层的模板引擎是非常常见的做法。这种组合不仅可以让开发者更加专注...
- FreeMarker提供了一个默认的对象包装器(`DefaultObjectWrapper`),可以自定义对象包装器以支持特定类型的对象访问。 #### 五、配置详解 1. **基础配置 (Basic Configuration):** - 设置版本号、模板加载路径...
Freemarker是一款强大的模板引擎,它支持多种语言环境,尤其在Web开发中被广泛应用于动态页面的生成。在Freemarker中,内置了大量的实用函数,这些函数能够帮助开发者更加高效地处理数据、生成HTML等输出内容。本文...
3. **布尔值(Boolean)**: Freemarker中的布尔值是`true`和`false`。它们可以用于条件判断,如`<#if condition>...<#else>...<#endif>`。 4. **列表(List/Array)**: 列表用于存储一组有序的元素。在Freemarker中,你...
- **数据模型类型**:Freemarker 支持多种类型的数据模型,包括但不限于字符串 (`String`)、数字 (`Number`)、布尔值 (`Boolean`)、列表 (`List`) 和映射 (`Map`)。 - **示例**:下面是一个简单的数据模型创建示例。...
FreeMarker表达式中完全支持算术运算,FreeMarker支持的算术运算符包括:+, - , * , / , % 看如下的代码: ${ x * x - 100 } ${ x /2 } ${ 12 } 输出结果是: -75 2.5 2 在表达式中使用算术运算符时要注意以下...
如果变量不存在,Freemarker默认输出空字符串。 #### 1.2 注释 `<!--#-->` 和 `${'...'}` Freemarker提供了两种注释方式:HTML注释`<!--#-->`和字符串注释`${'...'}`。前者在HTML输出中会被忽略,后者在模板解析时...
数据模型的基础类型包括字符串(String)、数字(Number)、布尔值(Boolean)、列表(List)和哈希表(Map)。这些类型在FreeMarker模板中直接使用,与Java基本类型相对应。 - **Scalar类型** Scalar类型指的是...
FreeMarker支持多种类型的数值和数据类型,包括但不限于: - 基本类型:如`String`、`Number`、`Date`、`Boolean`等。 - 容器类型:如列表、哈希表等。 - 特殊类型:如XML节点、方法等。 ### 三、程序开发指南 ###...
综上所述,FreeMarker不仅是一款强大的模板引擎工具,还提供了丰富的文档和支持资源来帮助不同背景的用户快速上手并高效利用其功能。无论是前端设计师还是程序员,都可以根据自己的需求选择相应的指南进行学习。
日期格式化是Freemarker中的常见需求,支持自定义和系统预设两种格式化方式。 - **自定义格式化**:`${date?string("yyyy-MM-dd")!}`,可以自由选择日期的显示格式。 - **系统预设格式化**:`${(steel.stockTime?...
- **Boolean**:用于存储布尔值。 - **Date**:用于存储日期和时间信息。 - **Map**:用于存储键值对集合。 - **List/Set**:用于存储有序或无序的元素集合。 - **Java Beans**:用于封装复杂的对象数据。 #### 2.4...