O que Thymeleaf isso?
1.Thymeleaf Jieke prazo sob o ambiente de rede e fora da rede que permite que artistas para ver o efeito de página estática em um navegador, mas também permite que o programador para ver o efeito de páginas dinâmicas com dados no servidor. Isso é porque ele suporta html protótipo, e depois adicionar atributos adicionais para alcançar no html tag + exibição dos dados. O navegador irá ignorar a interpretação dos atributos html tag indefinidos, então thymeleaf modelos podem ser estaticamente executar; quando não há dados para retornar à página, etiqueta Thymeleaf substituir dinamicamente o conteúdo estático, exposição dinâmica da página.
2.Thymeleaf-uso fora das características da caixa. Ele fornece padrão padrão e Primavera dois dialetos, pode aplicar diretamente um modelo para alcançar JSTL, efeito OGNL expressões, conjuntos Evitar por modelo do dia, incomodado pelo jstl, alterar o rótulo. Ao mesmo tempo, os desenvolvedores podem estender e criar dialeto personalizado.
3. Thymeleaf língua padrão e fornecer uma mola perfeita e SpringMVC integrado módulos opcionais, você pode rapidamente conseguir uma forma de ligação, editor de propriedades, funções internacionais e outros.
atributos comuns:
A, de propriedade th
interpretação propriedade th comum
Alguns atributos de html, Thymeleaf basicamente tem, mas atributos comuns cerca de sete ou oito. Em que th atributo de prioridade de 1 a 8 realizada, quanto maior o número a diminuir a prioridade.
A, TH: texto : Defina o conteúdo de texto do elemento atual, bem como a mesma função th: utext diferença entre os dois é que o primeiro não escapa tags de html, este último será. Prioridade não é alto: ordem = 7
Dois, TH: valor : definir o valor do elemento de corrente, bem como propriedades similares modificações especificado TH: a src , TH: a href . Prioridade não é alto: ordem = 6
Três, th: cada : através do elemento loop, e th: texto ou th: uso com valor. Observe a localização da etiqueta modificada propriedade, de volta olhar detalhado. Uma alta prioridade: 2 = ordem
Quatro, TH: IF : condição acórdão, não são semelhantes TH: A menos que , TH: Troca , TH: Case . Maior prioridade: order = 3
Cinco, TH: INSERIR : introdução de um bloco de código, não são semelhantes TH: Substituir , TH: a inclusão , a diferença entre os três grandes, se o uso inadequado irá destruir a estrutura html, comumente usado em blocos de código públicas cena extraídos. A mais alta prioridade: 1 fim =
Seis, TH: o fragmento : bloco de código personalizado é fácil th: inserir referência. Prioridade mais baixa: order = 8
Sete, TH: Objeto : declaração de variáveis, e é geralmente usado em conjunto com * {}, preguiçoso alcançar o efeito. prioridade geral: order = 4
Oito, th: attr : modificar qualquer propriedade, com o desenvolvimento menos real, porque há uma riqueza de outra th propriedade para ajuda, não são th semelhante: attrappend, th: attrprepend. prioridade geral: order = 5
uso comum th propriedade
Use Thymeleaf pontos de atributos a serem observados os seguintes cinco pontos:
Em primeiro lugar, para usar Thymeleaf gramática, primeiro você deve declarar um namespace: xmlns:th="http://www.thymeleaf.org"
Em segundo lugar, definir o th texto: texto, o valor de entrada de conjunto de th: valor, saída ciclo th: cada, condicional th: se, em blocos de código de th: inserção, bloco th definido: fragmento, declarar uma variável th: objeto
Três, th: cada necessidade de uso de atenção extra, uma analogia: se você quiser fazer um loop em uma tag div p, então th: cada propriedade deve ser colocado sobre a tag p. Se você th: cada atributo na div, o laço é toda a div.
Em quarto lugar, a expressão variável fornece muitos built-in método, o método é começar com um built-# Por favor, não confunda a expressão mensagem} # {.
Cinco, th: inserção, th: substituir, th: três tipos em blocos de código incluem um efeito semelhante, mas muito diferente.
<! DOCTYPE HTML > <! - Namespace -> < HTML lang = "en" xmlns: TH = "http://www.thymeleaf.org" > < head > < meta charset = "UTF-8" > < título > Thymeleaf sintaxe </ title > </ head > < corpo > < H2 > ITDragon Thymeleaf sintaxe </ H2 > <! - TH: definir o texto atual do elemento de texto, comumente, a prioridade não é alta -> <p th: texto = "$ {thText}" /> < P TH: UTEXT = "$ {thUText}" /> <! - TH: Ajuste o valor valor valor do elemento atual, comumente, única prioridade que th: texto alta -> < ENTRADA tipo = "text" TH: value = "$ {thValue}" /> <! - TH: cada lista transversal, comum, de alta prioridade, este é inserido no bloco de código só -> <! - TH: cada modificação no div , o repetido camada div, p tag se apenas atravessado, o tag é modificada no p -> < div TH: cada = "Mensagem: thEach $ {}" > <! - através de toda a p-div, não é recomendado -> < P TH: text = "$} {Mensagem" /> </ div > <div > <! -Traverses apenas o p, recomendado -> < P TH: text = "$} {Mensagem" TH: cada = "Mensagem: thEach $ {}" /> </ div > <! - TH: IF condição julgamento, similar há th: switch, th: caso, após o th prioridade: cada um, que é uma expressão variável built-in #strings método -> < P tH: text = "$ {} THIF" tH: IF = "$ não strings.isEmpty # {(THIF)} " > </ P > <! - tH: inserir Div bloco atual no código, a prioridade mais alta, há um th semelhante: substituir, th: incluem, ~ {}: expressões bloco -> < div TH: INSERÇÃO = "~ {Grammar thCommon / comum} ::" > </ div > <!- TH: variáveis de declaração de objeto, {*} e usados juntos -> < Div th: objeto = "$ {thObject}" > < p > ID: < período th: texto = "* {id}" /> </ p > <! - th: text = "$ {thObject.id }" -> < p > tH: < período th: texto = "* {thName}" /> </ p > <! - $ {thObject.thName} -> < p > DE: < período th: text = "* {desc}" /> </ p > <!- $ {thObject.desc} -> </ div> </ Corpo > </ html >
código de nível de controlador
importação com.itdragon.entities.ThObject; importação org.springframework.stereotype.Controller; importação org.springframework.ui.ModelMap; importação org.springframework.web.bind.annotation.RequestMapping; importação java.util.ArrayList; importação java.util.Arrays; importação java.util.List; @Controller pública classe ThymeleafController { @RequestMapping ( "thymeleaf" ) pública de Cordas thymeleaf (ModelMap mapa) { map.put ( "thText", "th: texto设置文本内容<b>加粗</ b>" ); map.put ("ThUText", "th: utext fornecido texto <b> negrito </ B>" ); map.put ( "thValue", "thValue valor ajustado do elemento atual" ); map.put ( "thEach", Arrays.asList ( "th: cada", " percorrer a lista" )); map.put ( "THIF", "msg não é nulo" ); map.put ( "thObject", nova novo thObject (1L, "tH: objeto "" th atributo para preguiçoso " )); retorno " gramática / Thymeleaf " ; } }
link original: https://www.cnblogs.com/itdragon/archive/2018/04/13/8724291.html