以下引用官方描述:
引用
The FreeMarker template language doesn't know the Java language null at all. It doesn't have null keyword, and it can't test if something is null or not.
1.判断是否存在,通过exists关键字或者"??"运算符。都将返回一个布尔值
user.name?exists
user.name??
<#if user.name?exists>
//TO DO
</#if>
<#if user.age??>
//TO DO
</#if>
2.忽略null值
假设前提:user.name为null
${user.name},异常
${user.name!},显示空白
${user.name!'vakin'},若user.name不为空则显示本身的值,否则显示vakin
${user.name?default('vakin')},同上
${user.name???string(user.name,'vakin')},同上
分享到:
相关推荐
### Freemarker语法完整版知识点详解 #### A....通过以上详细解释,读者可以更好地理解Freemarker的核心概念、指令用法以及一些常见的技巧和注意事项,从而更高效地使用Freemarker进行模板渲染工作。
Freemarker是一个强大的Java模板引擎,常用于动态生成HTML、XML等Web页面。在实际开发中,我们常常会遇到数据模型中的字段可能为空的情况。...理解并熟练运用这些技巧,将使你的Freemarker模板代码更加健壮和易维护。
4. **Freemarker的常用技巧**: - 使用`?default`处理空值,如`${variable?default("default value")}`。 - `?string`转换为字符串,避免输出null。 - `?html`防止XSS攻击,自动转义特殊字符。 - `?eval`执行...
- **默认值**:可为变量设置默认值,防止null值引发异常。 - **对象判空**:可以判断对象是否为null,避免空指针异常。 - **日期格式化**:提供了日期格式化的方法。 - **全局共享变量**:在模板级别或应用级别...
以上只是FreeMarker的一部分内容,实际使用中还需要根据具体需求学习和掌握更多特性和技巧。FreeMarker的灵活性和强大功能使其成为Java Web开发中不可或缺的一部分,熟练掌握它能帮助开发者更高效地构建动态网页。在...
- **字符串处理**:Freemarker提供了一些内置的字符串处理方法,如`substring`、`trim`等。 - **初始化Sequences和Hashes**:可以在模板中动态创建并初始化Sequences和Hashes。 - **注释**:可以使用`<!-- -->`或...
在Java和FreeMarker模板语言的集成应用中,我们经常遇到...这些技巧可以帮助你在FreeMarker模板中更灵活地处理各种数据类型和进行复杂的逻辑判断。正确理解和使用这些功能可以极大地提高模板编程的效率和代码的可读性。
- 使用`@Valid`和JSR-303/JSR-349提供的注解(如`@NotNull`, `@Size`, `@Min`, `@Max`等)进行数据校验。 5. **异常处理** - 可以通过`@ExceptionHandler`注解在Controller中处理特定异常,或者全局配置异常...
本章节将详细介绍Freemaker的基础概念、核心指令以及一些实用技巧,帮助开发者更好地理解和应用这一工具。 #### 二、核心概念与指令 ##### 1. 核心概念 - **Sequence (序列)**:对应于Java中的List或数组等非键值...
- 使用Ftl(Freemarker)模板语言进行布局设计。 **3.3 Service服务的定义** - 定义业务逻辑的接口和服务。 - 通过XML文件配置服务参数。 **3.4 Service服务的实现** - 实现服务的具体逻辑。 - 通常使用Java...
通过以上总结,我们了解了Struts2框架的基础配置、与Spring的集成方式、Action的定义方法以及OGNL表达式的使用技巧。这些知识点对于初学者来说是非常有用的,可以帮助他们快速入门并掌握Struts2的开发流程。