Mola de arranque camada de vista integração Thymeleaf

Primavera Bota integração Thymeleaf

Primavera Bota integração Thymeleaf (Primavera Bota recomendação oficial da tecnologia de camada de visão)

Thymeleaf Características: thymeleaf ser prestado por uma sintaxe específica marca html.

integração Primavera Bota de projeto passos Thymeleaf

  1. O projeto criado Thymeleaf (projeto Maven do tipo frasco de projeto de inicialização primavera)
    Aqui Insert Picture Descrição
  2. Abra o arquivo pom.xml, adicione o fermento coordenar
    Aqui Insert Picture Descrição
    cupom:
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.4.RELEASE</version>
</parent>
    <dependencies>
        <!-- spring boot的web启动器 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- thymeleaf 启动器 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
    </dependencies>
  1. Controlador Escrito Controlador
    Aqui Insert Picture Descrição

código:

@Controller
public class UserController {
	/**
	 * 返回一个String的返回值(恒跳转),并且不是一个异步的ResponseBoby响应
	 * 框架会自动在templates目录下查找与之对应的html页面,
	 * 由Thymeleaf渲染出来。
	 * 前缀:classpath:/templates  后缀:.html
	 * 如果想要跳转到控制器,必须要让前缀和后缀失效,加上forward或redirect
	 */
	@RequestMapping("/show")
	public String  showInfo(Model model) {
		//存储用户名字符串,显示到页面
		model.addAttribute("username","翠花");
		//前缀:classpath:/templates  后缀:.html
		return "index";
	}
}

  1. Escrever Thymeleaf camada de visualização da página (responsável pela exibição de dados)
    Thymeleaf página deve ser colocado em src / main / recursos / templates sob
    modelos: Este diretório é destinado conteúdo seguro sob o diretório não permite acesso directo para o mundo exterior.
    Aqui Insert Picture Descrição
  2. classe de inicialização
    Aqui Insert Picture Descrição
  3. Navegador digite: localhost: 8080 / show
    Aqui Insert Picture Descrição

gramática Thymeleaf detalhado

  1. Variável de saída
    th: texto: um valor de saída na página
    th: valor: o valor para o atributo de valor tag input
用户名:<span th:text="${username}"></span>
<hr/>
用户名: <input th:value="${username}"/> 

  1. Thymeleaf embutido objectos (com uma certa embutido objectos #)
    1: cadeia manipulação cordas
    strings.isEmpty (): determina se a cadeia está vazia. Verdadeiro, falso
    strings.startsWith (): determinar se o que tem sido o início de uma string. Verdadeiro, falso
    strings.endsWith (): determinar se o que tem sido o fim da cadeia. É verdade, a falsa
    strings.length (): retorna o comprimento de uma corda
    strings.indexOf (): a posição da substring ocorrendo
    strings.toUpperCase (): sua vez maiúsculas
    strings.tolowerCase (): sua vez minúsculas
    Strings.substring (): interceptar substring
用户名的长度:<span th:text="${#strings.length(username)}"></span>  
  <hr/>
  获取用户名的姓:<span th:text="${#strings.substring(username,0,1)}"></span>

  1. Data formatação de um datas
    dates.format (): o formato padrão para o navegador como um rótulo
    dates.format (tempo, 'AAAA-MM -dD hh: mm: ss'): a conversão de um formato personalizado de acordo
    dates.year ( ): entrar em
    dates.month (): Obtém mês
    dates.day (): Obtém dia
当前时间:<span th:text="${time}"></span>
 <hr/>
 格式化日期:<span th:text="${#dates.format(time,'yyyy-MM-dd HH:mm:ss')}"></span>

  1. Analisando condição
    1: th: se

controlador:

model.addAttribute("sex", "男");

html:

您可能喜欢:<span th:if="${sex}=='男'">篮球,动漫</span> 
  1. th: chave
    th: caso

  2. Loop itera sobre

  3. th: cada

	1:迭代遍历list
		<table border="1" width="50%">
     <tr>
        <td>序号</td>
        <td>编号</td>
        <td>姓名</td>
        <td>年龄</td>
     </tr>
     <!--var:状态变量  index ,count,first last size  even odd-->
     <tr th:each="user,var:${list}">
        <td th:text="${var.count}"></td>
        <td th:text="${user.id}"></td>
        <td th:text="${user.name}"></td>
        <td th:text="${user.age}"></td>
     </tr>
 </table>

2: percorrer a Mapa
...

  1. operação de aquisição de dados alcance-alvo
	//作用域  request,session  application 
request.setAttribute("req", "HttpServletRequest");
request.getSession().setAttribute("sess", "HttpSession");
request.getSession().getServletContext().setAttribute("app", "ServletContext");

<!--页面部分-->
Request数据:<span th:text="${#httpServletRequest.getAttribute('req')}"></span><br/>
Session数据:<span th:text="${session.sess}"></span><br/>
Application数据:<span th:text="${application.app}"></span><br/>
  1. Url expressão
    TH: a href
    TH: o src
    TH: Acção
    1:. Sintaxe de expressão {} @
    2: Tipo de caminho
    1. caminho absoluto

    2. caminho relativo

1:相对于当前项目的根目录  /
      <a th:href=”@{/index}”></a>
2: 相对于服务器路径的根目录 ~
      <a th:href=”@{~/项目名/资源}”></a>

<!-- 连接 url表达式 -->
 <a href="http://www.baidu.com">百度一下</a>
 <a th:href="@{http://www.baidu.com}">百度一下</a>
 <a th:href="@{/show}">show</a>
 <hr/>
 <img src="images/3.jpg" />
 <img th:src="@{${img}}"  />

Acho que você gosta

Origin www.cnblogs.com/joker-dj/p/12657533.html
Recomendado
Clasificación