freemarker之空字符串默认赋值处理
需求:
item.title可能为null也可能为"",那么我们需要默认其值
实现:
${((item.title!'')?length>0)?string((item.title!''),"详情")}
如下操作只能处理为不存在或者为null的情况:
${item.title?default('详情')}
转载地址:http://m.myexception.cn/program/1620057.html
您还没有登录,请您登录后再发表评论
- **字符串**: 由单引号或双引号括起来的文本。 - **数字**: 直接使用数值。 - **日期**: 通常从数据模型中获取。 - **布尔值**: `true` 或 `false`,常用于 `<#if...>` 结构中。 **2. Hashes(哈希表)** - ...
replace`进行字符串替换,`?upper_case`和`?lower_case`进行大小写转换。此外,还有算术操作符(+、-、*、/、%)、比较操作符(==、!=、<、>、、>=)和逻辑操作符(&&、||、!)。 6. **模板配置** 通过`freemarker...
defaultValue,第一种用法不给缺失的变量指定默认值,表明默认值是空字符串,长度为0的集合,或者长度为0的Map对象. 使用!指定默认值时,并不要求默认值的类型和变量类型相同.使用??运算符非常简单,它总是返回一个布尔值...
replace`(字符串替换)等,以及`<#list>`、`<#nested>`等指令,增强了模板的功能。 7. **模板继承和导入**: - FreeMarker支持模板继承,通过`<#import>`和`<@macro>`,可以创建可重用的片段和宏,提高代码的复用...
在这个例子中,`lastUpdated`被赋值为一个日期时间字符串,然后通过`?string`内建函数进行格式化输出。 总结来说,FreeMarker 提供了一套强大且灵活的模板语言,通过标签、指令、插值和表达式,能够方便地生成动态...
FreeMarker还支持逻辑运算、字符串操作、日期和时间处理等。 FreeMarker与流行的Web框架,如Spring MVC和Struts有良好的集成,可以方便地在MVC架构中作为视图层。此外,它也可以用在其他场景,如生成静态网站、构建...
FreeMarker 还支持复杂的表达式和运算,包括但不限于算术运算、字符串操作、日期处理等。例如: ```html * quantity/> ${total} ``` 这里展示了如何计算总价并输出。 通过以上介绍,我们可以看到 FreeMarker 提供...
除了这些基础概念,Freemarker还支持条件语句(`<#if>`、`<#else>`、`<#elseif>`)、循环(`<#list>`)、变量赋值(`<#assign>`)、包含其他模板(`<#include>`)等功能,以及丰富的内建函数和对象,如字符串处理、...
string`转换为字符串,避免输出null。 - `?html`防止XSS攻击,自动转义特殊字符。 - `?eval`执行OGNL表达式。 5. **与Web环境的交互**: - Freemarker可以直接获取HTTP请求和会话中的数据,如`${requestScope....
5. 引用对象属性: `${object.property}`可以访问对象的属性,如果属性不存在,FreeMarker默认返回空字符串,不会抛出异常。 6. 模板继承:通过`<#import>`或`<#include>`指令可以导入其他模板,实现模板复用。`...
- **字符串处理**:Freemarker提供了一些内置的字符串处理方法。 - **初始化Sequences和Hashes**:在模板中直接初始化这些数据结构。 - **注释**:使用`<!-- -->`进行注释。 6. **Freemarker在Web开发中的注意...
- `<#assign foo="value"/>`:定义字符串变量 `foo` 并赋值为 `"value"`。 4. **条件语句**: - `<#if condition>`:条件语句的基本结构。 - `<#elseif condition>`:嵌套条件语句。 - `<#else>`:条件不满足时...
6. **ES6+新特性**:包括箭头函数、模板字符串、Promise、async/await、let/const、解构赋值等,它们提升了代码的可读性和可维护性。 Struts 2.0 知识点: 1. **MVC模式**:Struts 2.0 是基于 MVC 设计模式的框架,...
例如,你可以使用 `objectMapper.writeValueAsString(object)` 将 Java 对象转换为 JSON 字符串,使用 `objectMapper.readValue(jsonString, YourClass.class)` 将 JSON 字符串转换为 Java 对象。 6. **Jackson ...
- **字符串**:表示视图名称,SpringMVC 会根据视图名称找到相应的视图组件进行渲染。 - **ModelAndView**:同时携带模型数据和视图名称。 - **其他类型**:如 `void`、`RedirectView`、`String`(JSON/XML 数据)等...
- **用途**: 缓存字符串模板以提高性能。 **15. 布局** - **示例**: `<#layout file="header.ftl"> ... </#layout>` - **用途**: 实现模板的分层结构。 **16. 测试模板** - **示例**: `gt.testTemplate("test...
相关推荐
- **字符串**: 由单引号或双引号括起来的文本。 - **数字**: 直接使用数值。 - **日期**: 通常从数据模型中获取。 - **布尔值**: `true` 或 `false`,常用于 `<#if...>` 结构中。 **2. Hashes(哈希表)** - ...
replace`进行字符串替换,`?upper_case`和`?lower_case`进行大小写转换。此外,还有算术操作符(+、-、*、/、%)、比较操作符(==、!=、<、>、、>=)和逻辑操作符(&&、||、!)。 6. **模板配置** 通过`freemarker...
defaultValue,第一种用法不给缺失的变量指定默认值,表明默认值是空字符串,长度为0的集合,或者长度为0的Map对象. 使用!指定默认值时,并不要求默认值的类型和变量类型相同.使用??运算符非常简单,它总是返回一个布尔值...
replace`(字符串替换)等,以及`<#list>`、`<#nested>`等指令,增强了模板的功能。 7. **模板继承和导入**: - FreeMarker支持模板继承,通过`<#import>`和`<@macro>`,可以创建可重用的片段和宏,提高代码的复用...
在这个例子中,`lastUpdated`被赋值为一个日期时间字符串,然后通过`?string`内建函数进行格式化输出。 总结来说,FreeMarker 提供了一套强大且灵活的模板语言,通过标签、指令、插值和表达式,能够方便地生成动态...
FreeMarker还支持逻辑运算、字符串操作、日期和时间处理等。 FreeMarker与流行的Web框架,如Spring MVC和Struts有良好的集成,可以方便地在MVC架构中作为视图层。此外,它也可以用在其他场景,如生成静态网站、构建...
FreeMarker 还支持复杂的表达式和运算,包括但不限于算术运算、字符串操作、日期处理等。例如: ```html * quantity/> ${total} ``` 这里展示了如何计算总价并输出。 通过以上介绍,我们可以看到 FreeMarker 提供...
除了这些基础概念,Freemarker还支持条件语句(`<#if>`、`<#else>`、`<#elseif>`)、循环(`<#list>`)、变量赋值(`<#assign>`)、包含其他模板(`<#include>`)等功能,以及丰富的内建函数和对象,如字符串处理、...
string`转换为字符串,避免输出null。 - `?html`防止XSS攻击,自动转义特殊字符。 - `?eval`执行OGNL表达式。 5. **与Web环境的交互**: - Freemarker可以直接获取HTTP请求和会话中的数据,如`${requestScope....
5. 引用对象属性: `${object.property}`可以访问对象的属性,如果属性不存在,FreeMarker默认返回空字符串,不会抛出异常。 6. 模板继承:通过`<#import>`或`<#include>`指令可以导入其他模板,实现模板复用。`...
- **字符串处理**:Freemarker提供了一些内置的字符串处理方法。 - **初始化Sequences和Hashes**:在模板中直接初始化这些数据结构。 - **注释**:使用`<!-- -->`进行注释。 6. **Freemarker在Web开发中的注意...
- `<#assign foo="value"/>`:定义字符串变量 `foo` 并赋值为 `"value"`。 4. **条件语句**: - `<#if condition>`:条件语句的基本结构。 - `<#elseif condition>`:嵌套条件语句。 - `<#else>`:条件不满足时...
6. **ES6+新特性**:包括箭头函数、模板字符串、Promise、async/await、let/const、解构赋值等,它们提升了代码的可读性和可维护性。 Struts 2.0 知识点: 1. **MVC模式**:Struts 2.0 是基于 MVC 设计模式的框架,...
例如,你可以使用 `objectMapper.writeValueAsString(object)` 将 Java 对象转换为 JSON 字符串,使用 `objectMapper.readValue(jsonString, YourClass.class)` 将 JSON 字符串转换为 Java 对象。 6. **Jackson ...
- **字符串**:表示视图名称,SpringMVC 会根据视图名称找到相应的视图组件进行渲染。 - **ModelAndView**:同时携带模型数据和视图名称。 - **其他类型**:如 `void`、`RedirectView`、`String`(JSON/XML 数据)等...
- **用途**: 缓存字符串模板以提高性能。 **15. 布局** - **示例**: `<#layout file="header.ftl"> ... </#layout>` - **用途**: 实现模板的分层结构。 **16. 测试模板** - **示例**: `gt.testTemplate("test...