image.png
image.png

字面量

  1. 文本值: one text , Another one!’ ,…<br /> 数字: 0 , 34 , 3.0 , 12.3 ,…<br /> 布尔值: true , false<br /> 空值: null<br /> 变量: onetwo,… 变量不能有空格<br />**文本操作**<br /> 字符串拼接: +<br /> 变量替换: |The name is ${name}|<br />**数学运算**<br /> 运算符: + , - , * , / , %<br />**布尔运算**<br /> 运算符: and , or<br /> 一元运算: ! , not<br />**比较运算**<br /> 比较: > , < , >= , <= ( gt , lt , ge , le )<br /> 等式: == , != ( eq , ne )<br />**条件运算**<br /> If-then: (if) ? (then)<br /> If-then-else: (if) ? (then) : (else)<br /> Default: (value) ?: (defaultvalue)<br />**特殊操作**<br /> 无操作: _

循环

  1. <tr th:each="student:${students}">
  2. 日期格式转换
  3. <td th:text="${#calendars.format(student.birthday,'yyyy-MM-dd')}"></td>
  4. 三元表达式
  5. <td th:text="${student.state}==0?'未在读':'在读'"></td>
  6. </tr>

将post请求转换成delete请求

  1. <a class="delete" th:href="@{/delete/}+${student.xh}">删除</a>
  2. <form action="" method="post">
  3. <input type="hidden" name="_method" value="DELETE"/>
  4. </form>
  5. <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
  6. <script type="text/javascript">
  7. $(function (){
  8. $(".delete").click(function () {
  9. var href=$(this).attr("href");
  10. $("form").attr("action",href).submit();
  11. return false;
  12. })
  13. });
  14. </script>

下拉列表回显

  1. 班级:<select name="gid">
  2. <option value="">全部</option>
  3. <option th:each="grade:${grades}" th:value="${grade.gid}"
  4. th:text="${grade.gname}" th:selected="${XNG.gid} eq ${grade.gid}"></option>
  5. </select>

单选框回显

  1. <p>性别:男<input type="radio" name="sex" th:checked="${student.sex} eq '男'? 'checked':'false'" value='男'>

ajax异步请求

  1. <p>学号:<input type="text" name="xh" id="xueHao">
  2. <span th:id="show"></span></p>
  3. <script Charset="UTF-8" src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
  4. <script type="text/javascript">
  5. $(function(){ //jquery的加载事件
  6. //失去焦点 触发的事件
  7. $("#xueHao").blur(function(){
  8. var xh1=parseInt($("#xueHao").val())
  9. //使用jquery的post方法发送异步请求获取服务器返回的学生json数据
  10. // $.post("服务器地址",给服务器传递的参数,回调函数,"服务器返回类型:json,html,text");
  11. $.post("getXh",{xh:xh1},function(data){
  12. //data代表服务器返回的数据
  13. $("#show").text(data);
  14. },"html")
  15. });
  16. });
  17. </script>

获取当前循环次数

  1. <tr th:each="file,fileStat:${files}">
  2. <td th:text="${fileStat.count}"></td>
  3. </tr>

1.file指的是当前循环的对象的变量名称,可以随意定义,但要于下面 “ . 属性”引用保持一致相当于增强for循环的临时变量;
2.fileStat指当前循环对象状态的变量(可选,默认就是你第一步设置的对象变量名称+ Stat)
3.${files }是当前循环的集合
fileStat称作状态变量,属性有:
index:当前迭代对象的index(从0开始计算)
count: 当前迭代对象的index(从1开始计算)
size:被迭代对象的大小
current:当前迭代变量 //proStat.current等同pro
even/odd:布尔值,当前循环是否是偶数/奇数(从0开始计算)
first:布尔值,当前循环是否是第一个
last:布尔值,当前循环是否是最后一个

页面跳转查询条件回显问题

查询条件的表单

  1. <form method="get" action="/" id="form1">
  2. <input type="hidden" name="pn" id="setPage" value="">//隐藏域
  3. <input type="submit" value="查询">
  4. </form>

页面显示

  1. <tr>
  2. <td colspan="9" align="center">
  3. <div align="center">
  4. 当前第 [[${page.pageNum}]] 页/
  5. 总计 [[${page.pages}]] 页/
  6. 共 [[${page.total}]] 条记录
  7. &emsp;
  8. <span th:if="${page.pageNum>1}">
  9. <a class="page" th:href="1">首页</a>
  10. <a class="page" th:href="${(page.pageNum)-1}">上一页</a></span>
  11. <span th:each="num:${page.getNavigatepageNums()}">
  12. <a class="page" th:href="${num}">[[${num}]]</a>
  13. </span>
  14. <span th:if="${page.pageNum<page.pages}" >
  15. <a class="page" th:href="${(page.pageNum)+1}">下一页</a>
  16. <a class="page" th:href="${page.pages}">尾页</a></span>
  17. </div>
  18. </td>
  19. </tr>

将跳转页面的超链接换成表单提交

  1. $(function () {
  2. $(".page").click(function () {
  3. var href=$(this).attr("href");//获取超链接中的值
  4. $("#setPage").val(href);//将值赋给隐藏域
  5. $("#form1").submit(); //提交表单
  6. return false;//阻止超链接行为
  7. })
  8. })

抽取公共页面

th:fragment=”head”
th:insert: 将被引用的模板片段插⼊到自己的标签体中
th:include: 将被引用的模板片段替换掉自己
th:replace:类似于 th:insert,⽽不是插⼊⽚段,它只插⼊此⽚段的内容。
th:include=”~{commonPage/common::topnav}”

th:inline=”javascript”内联添加在 JavaScript标签中

2019021213402595.png

页面导航栏

image.png

  1. <nav aria-label="...">
  2. <ul class="pagination">
  3. <!-- 左箭头-->
  4. <th:block th:if="${page.current> 1}">
  5. <li>
  6. <a class="page" th:href="(1)" aria-label="Previous">
  7. <span aria-hidden="true">&laquo;</span>
  8. </a>
  9. </li>
  10. </th:block>
  11. <th:block th:unless="${page.current> 1}">
  12. <li class="disabled">
  13. <a class="page" th:href="(1)" aria-label="Previous">
  14. <span aria-hidden="true">&laquo;</span>
  15. </a>
  16. </li>
  17. </th:block>
  18. <!-- end-->
  19. <!-- 导航栏-->
  20. <th:block th:each="pages:${pages}">
  21. <th:block th:if="${pages}==${page.current}">
  22. <li class="active">
  23. <a class="page" th:href="${pages}" th:text="${pages}">
  24. <span class="sr-only">(current)</span>
  25. </a>
  26. </li>
  27. </th:block>
  28. <th:block th:unless="${pages}==${page.current}">
  29. <li>
  30. <a class="page" th:href="${pages}" th:text="${pages}">
  31. <span class="sr-only">(current)</span>
  32. </a>
  33. </li>
  34. </th:block>
  35. </th:block>
  36. <!-- end-->
  37. <!-- 右箭头-->
  38. <th:block th:if="${page.current < page.pages}">
  39. <li>
  40. <a class="page" th:href="${page.current+1}">
  41. <span aria-hidden="true">&raquo;</span>
  42. </a>
  43. </li>
  44. </th:block>
  45. <th:block th:unless="${page.current+1}">
  46. <li class="disabled">
  47. <a class="page" th:href="${page.current+1}">
  48. <span aria-hidden="true">&raquo;</span>
  49. </a>
  50. </li>
  51. </th:block>
  52. <!-- end-->
  53. </ul>
  54. </nav>

@DateTimeFormat(pattern = “yyyy-MM-dd HH:mm:ss”)
@JsonFormat(shape = JsonFormat.Shape.STRING,pattern = “yyyy-MM-dd HH:mm:ss”,timezone = “GMT+8”)

时间格式化实体类属性