将介绍在Freemarker中如何使用常见的if else 分支判断语句。通过一个实例来说明如何正确使用。
控制器(InstructionController.java):
package com.test.controller; import java.util.ArrayList; import java.util.List; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import com.test.mode.User; /** * Freemarker指令 * @author Administrator * */ @Controller @RequestMapping("/instructionController") public class InstructionController { /** * if 指令 * @param map * @return */ @RequestMapping("/ifStatement") public String ifStatement(ModelMap map){ map.put("username", "张三"); map.put("score", 73); // 成绩 map.put("sex", "F"); // M-男、F-女 return "ifStatement.ftl"; } }
模板文件(ifStatement.ftl)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Freemarker if 指令测试</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body> <h3>学生基本信息</h3> 用户名: ${username}<br/> 性 别: <#if sex=="F"> 女 <#elseif sex=="M"> 男 <#else> 其他 </#if> <br/> 成 绩:${score}分<br/> 级 别: <#if (score >= 90) > <#-- 此处不加括号,则系统认为 “score >” 将scroe作为了条件 --> 非常优秀 <#elseif (score >= 80 && score < 90)> 优秀 <#elseif (score >= 70 && score < 80)> 良好 <#elseif (score >= 60 && score < 70)> 一般 <#else> 差劲 </#if> <br/> </body> </html>
输出结果:
用户名: 张三
性 别: 女
成 绩: 73分
级 别: 良好