请选择 进入手机版 | 继续访问电脑版
本站特色:极好的技术研究氛围!所有技术交流,必有回复!

疯狂Java联盟

 找回密码
 加入联盟
查看: 85|回复: 0

Spring Boot2.0连载(28)-- 测试Thymeleaf条件判断。

[复制链接]
发表于 2018-5-14 22:07:53 | 显示全部楼层 |阅读模式
本帖最后由 xiaowenji 于 2018-5-15 20:48 编辑

更多Spring Boot2.0的知识敬请期待疯狂软件著作《Spring Boot企业应用实战》上市

Index.html:
  1. <div class="container">
  2.     <div class="row">
  3.         <div class="col-md-4">
  4.             <a th:href="@{iftest}">测试条件判断</a><br/><br/><br/><br/>
  5.         </div>
  6.     </div>
  7. </div>
复制代码


Index.html中有一个超链接,分别用来测试thymeleaf的条件判断。

  1. ThymeleafController:
  2. import javax.servlet.http.HttpServletRequest;
  3. import javax.servlet.http.HttpSession;
  4. import org.springframework.stereotype.Controller;
  5. import org.springframework.web.bind.annotation.RequestMapping;
  6. import org.springframework.web.context.request.WebRequest;

  7. @Controller
  8. public class ThymeleafController {

  9.     /*
  10.      * 保存数据到作用范围域,用于测试Thymeleaf的条件判断
  11.      * */
  12.     @RequestMapping("/iftest")
  13.     public String iftest(WebRequest webRequest){
  14.         // 保存数据到request作用范围域,Spring MVC更推荐使用WebRequest
  15.         webRequest.setAttribute("username", "fkit", webRequest.SCOPE_REQUEST);
  16.         webRequest.setAttribute("age", 21, webRequest.SCOPE_REQUEST);
  17.         webRequest.setAttribute("role", "admin", webRequest.SCOPE_REQUEST);
  18.         return "success2";
  19.     }

  20. }
复制代码



iftest方法用来响应第二个请求<a th:href="@{iftest}">测试条件判断</a>,iftest方法中分别设置了“username”、“age”和“role”三个变量到request作用范围域当中。然后返回success2.html。

success2.html:
  1. <!DOCTYPE html>
  2. <html xmlns:th="http://www.thymeleaf.org">
  3. <head>
  4. <meta charset="UTF-8"></meta>
  5. <title>thymeleaf示例</title>
  6. <link rel="stylesheet" th:href="@{css/bootstrap.min.css}" />
  7. <link rel="stylesheet" th:href="@{css/bootstrap-theme.min.css}"/>
  8. <script type="text/javascript" th:src="@{js/jQuery-1.11.0.min.js}"></script>
  9. <script type="text/javascript" th:src="@{js/bootstrap.min.js}"></script>
  10. </head>
  11. <body>
  12. <div class="panel panel-primary">
  13.     <div class="panel-heading">
  14.         <h3 class="panel-title">Thymeleaf条件判断</h3>
  15.     </div>
  16. </div>
  17. <div class="container">
  18.     <div class="row">
  19.         <div class="col-md-4">
  20.             <p><font color="red">th:if中条件成立时才显示结果</font></p><br/>
  21.             <span th:if="${username != null}">username不为空</span><br/>
  22.             <span th:if="${age != null}">age不为空</span><br/>
  23.             <p><font color="red">th:unless与th:if恰好相反,只有表达式中的条件不成立,才会显示结果</font></p><br/>
  24.             <span th:unless="${address != null}">address为空</span><br/>
  25.             <p><font color="red">支持多路选择Switch结构,默认属性default可以用*表示</font></p><br/>
  26.             <div th:switch="${role}">
  27.               <p th:case="'admin'">管理员</p>
  28.               <p th:case="'guest'">来宾</p>
  29.               <p th:case="*">其他</p>
  30.             </div>
  31.         </div>
  32.     </div>
  33. </div>
  34. </body>
  35. </html>
复制代码



Success2.html中可以看到,条件判断th:if、th:unless和th:switch的运行结果。
您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

小黑屋|手机版|Archiver|疯狂Java联盟 ( 粤ICP备11094030号 )

GMT+8, 2018-8-15 09:45 , Processed in 0.200094 second(s), 6 queries , File On.

快速回复 返回顶部 返回列表