Thymeleaf 语法详解(常用内容)

    xiaoxiao2022-07-06  206

    一、变量输出 与 字符串操作

        th:text  在页面输出值

        th:value 可以将一个值放入到value标签中

     

    输出

    Thymeleaf 内置对象 注意语法:

    1,调用内置对象一定要用#

    2,大部分的内置对象都以 s 结尾 strings、numbers、dates

    ${#strings.isEmpty(key)} 判断字符串是否为空,如果为空返回 true,否则返回 false ${#strings.contains(msg,'T')} 判断字符串是否包含指定的子串,如果包含返回 true,否则返回 false ${#strings.startsWith(msg,'a')} 判断当前字符串是否以子串开头,如果是返回 true,否则返回 false ${#strings.endsWith(msg,'a')} 判断当前字符串是否以子串结尾,如果是返回 true,否则返回 false ${#strings.length(msg)} 返回字符串的长度 ${#strings.indexOf(msg,'h')} 查找子串的位置,并返回该子串的下标,如果没找到则返回-1 ${#strings.substring(msg,13)} ${#strings.substring(msg,13,15)} 截取子串,用户与 jdk String 类下 SubString 方法相同 ${#strings.toUpperCase(msg)} ${#strings.toLowerCase(msg)} 字符串转大小写。

    二、日期格式化处理

    ${#dates.format(key)} 格式化日期,默认的以浏览器默认语言为格式化标准 ${#dates.format(key,'yyy/MM/dd')} 按照自定义的格式做日期转换 ${#dates.year(key)} ${#dates.month(key)} ${#dates.day(key)} year:取年 Month:取月 Day:取日

    三、条件判断

     1.th:if

    <span th:if="${sex} == '男'">性别:男</span> <span th:if="${sex} == '女'">性别:女</span>

     2.th:switch

    <div th:switch="${id}"> <span th:case="1">ID 为 1</span> <span th:case="2">ID 为 2</span> <span th:case="3">ID 为 3</span> </div>

    四、迭代遍历 th:each

    ---controller部分--- @RequestMapping("/show3") public String showInfo3(Model model){ List<Users> list = new ArrayList<>(); list.add(new Users(1,"张三",20)); list.add(new Users(2,"李四",22)); list.add(new Users(3,"王五",24)); model.addAttribute("list", list); return "index3"; } ---视图部分--- <table border="1"> <tr> <th>ID</th> <th>Name</th> <th>Age</th> </tr> <tr th:each="u : ${list}"> <td th:text="${u.userid}"></td> <td th:text="${u.username}"></td> <td th:text="${u.userage}"></td> </tr> </table>

    遍历List

    @RequestMapping("/show3") public String showInfo3(Model model){ List<Users> list = new ArrayList<>(); list.add(new Users(1,"张三",20)); list.add(new Users(2,"李四",22)); list.add(new Users(3,"王五",24)); model.addAttribute("list", list); return "index3"; } <table border="1"> <tr> <th>ID</th> <th>Name</th> <th>Age</th> <th>Index</th> <th>Count</th> <th>Size</th> <th>Even</th> <th>Odd</th> <th>First</th> <th>lase</th> </tr> <tr th:each="u,var : ${list}"> <td th:text="${u.userid}"></td> <td th:text="${u.username}"></td> <td th:text="${u.userage}"></td> <td th:text="${var.index}"></td> <td th:text="${var.count}"></td> <td th:text="${var.size}"></td> <td th:text="${var.even}"></td> <td th:text="${var.odd}"></td> <td th:text="${var.first}"></td> <td th:text="${var.last}"></td> </tr> </table>

    状态变量属性

    1,index:当前迭代器的索引 从 0 开始2,count:当前迭代对象的计数 从 1 开始3,size:被迭代对象的长度4,even/odd:布尔值,当前循环是否是偶数/奇数 从 0 开始5,first:布尔值,当前循环的是否是第一条,如果是返回 true 否则返回 false6,last:布尔值,当前循环的是否是最后一条,如果是则返回 true 否则返回 false

    遍历Map

    @RequestMapping("/show4") public String showInfo4(Model model){ Map<String, Users> map = new HashMap<>(); map.put("u1", new Users(1,"张三",20)); map.put("u2", new Users(2,"李四",22)); map.put("u3", new Users(3,"王五",24)); model.addAttribute("map", map); return "index4"; } <table border="1"> <tr> <th>ID</th> <th>Name</th> <th>Age</th> </tr> <tr th:each="maps : ${map}"> <td th:text="${maps}"></td> </tr> </table> <th/> <table border="1"> <tr> <th>ID</th> <th>Name</th> <th>Age</th> </tr> <tr th:each="maps : ${map}"> <td th:each="entry:${maps}" th:text="${entry.value.userid}" ></td> <td th:each="entry:${maps}" th:text="${entry.value.username}"></td> <td th:each="entry:${maps}" th:text="${entry.value.userage}"></td> </tr> </table>

    五、域对象操作

    域对象操作 // HttpServletRequest request.setAttribute("req", "HttpServletRequest"); Request:<span th:text="${#httpServletRequest.getAttribute('req')}"></span><br/> //HttpSession request.getSession().setAttribute("sess", "HttpSession"); Session:<span th:text="${session.sess}"></span><br/> //ServletContext request.getSession().getServletContext().setAttribute("app","Application"); Application:<span th:text="${application.app}"></span>

    六、URL 表达式

    绝对路径 <a th:href="@{http://www.baidu.com}">绝对路径</a><br/> 相对路径 1)相对于当前项目的根 相对于项目的上下文的相对路径 <a th:href="@{/show}">相对路径</a> 2) 相对于服务器路径的根 <a th:href="@{~/project2/resourcename}">相对于服务器的根</a>

     

    最新回复(0)