Thymeleaf入门心得

Thymeleaf入门心得

  1. 简介:
    Thymeleaf是⾯向Web和独⽴环境的现代服务器端Java模板引擎,能够处 理HTML,XML, JavaScript,CSS甚⾄纯⽂本。

  2. 处理\模版:
    HTML XML TEXT JAVASCRIPT CSS RAW

  3. 方言:
    th:text属性,它计算其值表达式并将结果设置为标签的标签体,有 效地替换了代码中我们看到的“欢迎使⽤我们的杂货店!”这段⽂本。 #{home.welcome}标准表达式语法中指定的#{home.welcome}表达 式指示由th:text属性使⽤的⽂本应该是home.welcome键对应于我们 正在处理模板的区域设置的消息。

  4. 外部化文本:

  5. 上下文:
    创建⼀个上下⽂。 Thymeleaf上下⽂是实现 org.thymeleaf.context.IContext接⼝的对象。 上下⽂应包含在变量映射中 执⾏模板引擎所需的所有数据,并且还引⽤必须⽤于外部化消息的区域设 置。创建⼀个实现IGTVGController接⼝的 HomeController类:

public class HomeController implements IGTVGController 
{ 	public void process( final HttpServletRequest request, final HttpSe rvletResponse response, final ServletContext servletContext, final ITe mplateEngine templateEngine) throws Exception { 
WebContext ctx = new WebContext(request, response, servletC ontext, request.getLocale()); 
templateEngine.process("home", ctx, response.getWr iter()); } }
  1. 有⼀些专⻔的表达式,我们将能够⽤来从我们的模板中的WebContext获 取请求参数和请求,会话和应⽤程序属性:
    $ {x}将返回存储在Thymeleaf上下⽂中的变量x或作为请求属性。
    $ {param.x}将返回⼀个名为x的请求参数(可能是多值的)。
    $ {session.x}将返回⼀个名为x的会话属性。
    $ {application.x}将返回⼀个名为x的servlet上下⽂属性。

  2. 执⾏模版引擎
    templateEngine.process(“home”, ctx, response.getWriter());
    8.使⽤和显示变量:

public void process( final HttpServletRequest request, final HttpSe rvletResponse response, final ServletContext servletContext, final ITe mplateEngine templateEngine) throws Exception {
 SimpleDateFormat dateFormat = new SimpleDateFormat("dd MMMM yyyy"); Calendar cal = Calendar.getInstance(); 
 WebContext ctx = new WebContext(request, response, servletConte xt, request.getLocale());
  ctx.setVariable("today", dateFormat.format(cal.getTime ()));
  templateEngine.process("home", ctx, response.getWriter ()); }

模板:

<body>
 <p th:utext="#{home.welcome}">Welcome to our grocery sto re!</p>
  <p>Today is: <span th:text="${today}">13 February 2011</ span></p>
   </body>

7.表达式:
变量表达式:$ {…}
选择变量表达式:* {…}
消息表达式:#{…}
链接⽹址表达式:@ {…}
⽚段表达式:〜{…}
⽂字
字⽂字: ‘one text’ , ‘Another one!’
标准表达式语法
数字字⾯值:0,34,3.0,12.3,…
布尔⽂字:true,false
空字⾯值:null
⽂字Token:one,sometext,main,…
⽂本操作
字符串连接:+
⽂本替换:|The name is ${name}|
算术运算符
⼆进制运算符:+,-,*,/,%
负号(⼀元运算符):

  • 布尔运算符
  • ⼆进制运算符:and 、o
  • r 布尔否定(⼀元运算符):!,not ⽐较和相等运算符:
  • ⽐较运算符:>,<,> =,<=(gt,lt,ge,le)
  • 相等运算符:==,!=(eq,ne) 条件运算符: 45
  • 标准表达式语法 If-then:(if) ? (then) If-then-else:(if) ? (then) : (else) Default:(value) ?: (defaultvalue) 特殊符号: 哑操作符:_
发布了12 篇原创文章 · 获赞 6 · 访问量 1298

猜你喜欢

转载自blog.csdn.net/NINIYUANJ123/article/details/102616523