uso thymeleaf3.0

Primeiro, o comparador modelo comum

breve introdução
jsp Java Server Pages, Tecnologia web dinâmico, pelo servidor de aplicativos no motor JSP para compilar e executar, e em seguida, gerar toda a volta página para o cliente. linguagem de expressão Support (EL, JSTL). Porque é sobre o projeto springboot composição do lado do servidor, o desempenho do consumo, por isso não é recomendado para uso jsp
freemarker Os arquivos são geralmente armazenadas como xxx.ftlestritamente dependente do padrão MVC, não depende de recipiente Servlet (não tomar a memória JVM), a sintaxe é mais complexa thymeleaf contraste
thymeleaf springboot motor de impulso principal modelo, modelo de motor leve (responsável pela lógica de negócios não é recomendado, ou análise XML DOM e mais ocupar memória). Podem ser abertos diretamente no navegador e exibido corretamente, ele não afeta a expressão, os arquivos de páginas de modelo terminando com html

Dois, thymeleaf rótulo

①th: texto

Defina o conteúdo de texto do elemento atual. Modificações semelhantes para desenvolver a propriedade, bem th:utext, exceto que o último não vai escapar do htmlrótulo

②th: valor

Defina o elemento atual valuevalor. Não são semelhantes th:src,th:href

③th: cada

Laço através de elementos. th:each="item : ${collection}"E depois usar as th:text="${item}"expressões de atribuição para a atribuição de rótulo

④th: se

Condicional. Da mesma forma th:unless, th:switch, th:case. Analisando exibição não esvaziarth:if="${not #strings.isEmpty(result)}"

⑤th: inserto

bloco de código é introduzido. , Tem th semelhante: substituir, th: incluem; th: inserção inserido na etiqueta actual, th: inserir: conservam a sua etiqueta primário, retenção th: fragmento da etiqueta principal. Tth: substituir: Não própria etiqueta principal, retenção th: fragmento do rótulo principal. th: incluem: Do not própria etiqueta principal, retenção th: fragmento do rótulo principal. (Não recomendado após o 3.0 oficial).

⑥th: fragmento

bloco de código definido

⑦th: objeto

variáveis DECLARAR. E geralmente *{}utilizado em conjunto com

Três, thymeleaf expressão

① $ {...}: expressão variável

Comum objetos internos

explicação
ctx objeto de contexto
de quem variáveis ​​de contexto
localidade Contexto de objetos de linguagem
solicitação Get objeto HttpServletRequest
resposta Get HttpServletResponse objeto
sessão Get HttpSession objeto

Comum built-in método

explicação
cordas Corda método formatação, tais como iguais, equalsIgnoreCase, comprimento, a guarnição, toUpperCase, toLowerCase, indexOf, subsequência, substituir, startwith, endsWith, contém, containsIgnoreCase etc.
números formatDecimal
bools IsTrue, IsFalse
matrizes toArray, comprimento, isEmpty, contém, containsAll 等
lista, conjuntos ToList, tamanho, isEmpty, contém, containsAll, tipo 等
mapas tamanho, isEmpty, containsKey, ContainsValue 等
datas formato, ano, mês, hora, createNow 等

② @ {...}: expressões de ligação

Você pode dinamicamente adquirir o caminho do projeto

③ # {...}: Expressão mensagem

④ ~ {...}: bloco de código Expressão

Ele suporta dois estrutura gramatical
Recomendado: ~{templatename::fragmentname}
Apoio:~{templatename::#id}

⑤ * {...}: selecionar uma expressão variável

E usado para th:objectcombinação

Em quarto lugar, o uso nota thymeleaf

1, declarar namespace:xmlns:th="http://www.thymeleaf.org

2, definido o conteúdo do texto th:text, conjunto inputvalor th:value, a saída do ciclo th:each, determinação condição th:if, em blocos de código th:insert, o bloco de código é definido th:fragment, o th declaração variável: objeto

3, th:eachsobre as necessidades de etiqueta para ser reciclado.

4, expressão variável fornece muitos built-in método, o método é usar o built #início, e por favor não #{}confundir a expressão mensagem.

5, th:insert, th:replace, th:includesemelhante ao efeito de três tipos em blocos de código, mas uma grande diferença.

Cinco, aplicações SpringBoot usando thymeleaf

① a introdução de thymeleafdependência

<dependency> 
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
    <version>3.0.9.RELEASE</version>
</dependency>

② adicionar configuração

#通常thymeleaf默认的编码是HTML5,此时thymeleaf对一些标签的校验非常严格,通常我们需要添加配置spring.thymeleaf.mode=LEGACYHTML5
spring.thymeleaf.mode=LEGACYHTML5
#关闭thymeleaf缓存 开发时使用 否则没有实时画面
spring.thymeleaf.cache=false

③ adicionar um nekohtmldependente

Configurar spring.thymeleaf.mode=LEGACYHTML5após a partida a necessidade de introduzir bibliotecas adicionais NekoHTML.

<dependency>
    <groupId>net.sourceforge.nekohtml</groupId>
    <artifactId>nekohtml</artifactId>
    <version>1.9.15</version>
</dependency>
Publicado 81 artigos originais · Louvor obteve 124 · vista 380 000 +

Acho que você gosta

Origin blog.csdn.net/qq_38697437/article/details/104528250
Recomendado
Clasificación