Este artigo apresenta a Spring Boot e o Kotlin para renderizar visualizações da Web usando o mecanismo de modelo ThymEleaf.
Acesso de recursos estáticos
Quando desenvolvemos aplicativos da Web, precisamos fazer referência a um grande número de recursos estáticos, como JS, CSS e imagens. Como apoiar esses recursos estáticos usando a Spring Boot e Kotlin? , muito simples.
Configuração padrão
O Spring Boot fornece localizações estáticas do diretório de recursos por padrão e deve ser colocado em ClassPath, e o nome do diretório deve estar em conformidade com as seguintes regras:
/estático/público/recursos/meta-inf/recursos
Por exemplo: podemos criar estática no SRC/main/recursos/diretório e colocar um arquivo de imagem nesse local. Depois de iniciar o programa, tente acessar http: // localhost: 8080/ruby.jpg. Se a imagem puder ser exibida, a configuração será bem -sucedida.
Renderizando uma página da web
Anteriormente, a solicitação foi processada através do @RestController, e o conteúdo retornado era um objeto JSON. Se você precisar renderizar uma página HTML, como implementá -la?
MOTOR MOTOR
Sob o mecanismo de modelo recomendado pela Spring Boot, podemos começar rapidamente com o desenvolvimento de sites dinâmicos.
A bota de primavera fornece motores de modelo de configuração padrão com os seguintes tipos principais:
Tymeleafreemarkergroovystystache
A Spring Boot recomenda o uso desses mecanismos de modelo para evitar o uso de JSP. Se você precisar usar o JSP, não poderá implementar vários recursos do Spring Boot. Para detalhes, você pode ver o seguinte texto: Suportando a configuração do JSP.
Quando você usa qualquer um dos mecanismos de modelo acima, o caminho de configuração do modelo padrão é: src/main/recursos/modelos. Obviamente, esse caminho também pode ser modificado. Para detalhes, você pode consultar e modificá -lo nas propriedades de configuração dos mecanismos de modelo subsequentes.
Tommeleaf
O Thymeleaf é um mecanismo de modelo XML/XHTML/HTML5 que pode ser usado para o desenvolvimento de aplicativos em ambientes Web e não-Web. É uma biblioteca Java de código aberto baseado na licença Apache 2.0 e foi criado por Daniel Fernández, autor da biblioteca de criptografia Java Jasypt.
O ThymEleaf fornece um módulo opcional para integrar o MVC de primavera. No desenvolvimento de aplicativos, você pode usar o ThymEleaf para substituir completamente o JSP ou outros motores de modelo, como Freemarker, etc. O principal objetivo do timylefim é fornecer um método de criação de modelo bem formado que pode ser exibido corretamente pelo navegador e, portanto, também pode ser usado como modelagem estática. Você pode usá -lo para criar modelos validados de XML e HTML. Comparados à lógica ou código de gravação, os desenvolvedores simplesmente precisam adicionar atributos de tag ao modelo. Em seguida, essas propriedades da tag executam a lógica pré-formada no DOM (modelo de objeto de documento).
Modelo de amostra:
<! Doctype html> <html xmlns: th = "http://www.w3.org/1999/xhtml"> <head lang = "en"> <meta charset = "utf-8"/> <title> quanke.name </title> </head = <lodset = <body> <lodset = " Mundo </h1> </body> </html>
Pode -se observar que o tymeleaf é adicionado principalmente à tag HTML na forma de atributos. Quando o navegador analisar o HTML, ele o ignora quando verificar se não há atributo. Portanto, o modelo de Thymeleaf pode ser registrado diretamente através do navegador, o que é muito propício à separação das extremidades dianteiras e traseiras.
Para usar o tymeleaf na inicialização da primavera, você só precisa introduzir as seguintes dependências e escrever o arquivo de modelo sob o caminho padrão SRC/Main/Recursos/Modelos para concluí -lo.
Compile "org.springframework.boot: Spring-Boot-Starter-Thymeleaf: $ spring_boot_version"
Depois de concluir a configuração, dê um exemplo simples, com base no projeto Quick Start, dê um exemplo simples para renderizar uma página através do ThymEleaf.
Importar org.springframework.steretype.controllerimport org.springframework.ui.modelmapimport org.springframework.web.bind.annotation.requestmapping/*** Criado por http://quanke.name em 2018/10. */ @Controlerclass Hellocontroller {@RequestMapping ("/") Fun Index (Map: ModelMap): String {// Adicione um atributo para ler map.addattribute ("host", "http://quanke.name") no modelo // o nome do arquivo de retorno, o arquivo do modelo de retorno, o arquivo de retorno, sr " }}Por padrão, adicione o arquivo index.html no diretório SRC/Main/Resources/Modelos.
<! Doctype html> <html xmlns: th = "http://www.w3.org/1999/xhtml"> <head lang = "en"> <meta charset = "utf-8"/> <title> quanke.name </title> </head = <lodset = <body> <lodset = " Mundo </h1> </body> </html>
Adicione o método de inicialização da inicialização da primavera implementada usando o idioma Kotlin:
importar org.springframework.boot.springapplicationimport org.springframework.boot.autoconfigure.springbootapplication/*** Criado por http://quanke.name em 2018/1/9. */@SpringBootApplicationClass ApplicationFun Main (Args: Array <string>) {SpringApplication.run (Application :: Class.java, *args)}Conforme mostrado na página acima, você pode abrir diretamente a página HTML para exibir o Hello World, mas depois de iniciar o programa, visite http: // localhost: 8080/, que mostra o valor do host no controlador: http://quanke.name, que atinge a separação lógica de dados sem destruir o próprio conteúdo html.
Para mais a sintaxe da página de Thymeleaf, visite a documentação oficial de Thymeleaf para consultar.
Configuração de parâmetros padrão de tymeleaf
Se você precisar modificar a configuração padrão, basta copiar os atributos que deseja modificar abaixo no application.yml e modificá -los para o valor necessário, como modificar a extensão do arquivo de modelo, modificando o caminho do modelo padrão etc.
# Enable modelo em cache.spring.thymeleaf.cache = true # Verifique se a localização dos modelos existe.spring.thymeleaf.check-template-location = true # content-type value.spring.TheLeaf.Sution.Content-type = Text/html # Enable.aform.SELEAFT View.Solution Resolution. coding.spring.thymeleaf.encoding = UTF-8 # Lista separada por vírgula dos nomes de visualização que devem ser excluídos da resolução.spring.thymeleaf.excluded-view-names = # Modo de modelo a ser aplicado a modelos. Consulte também StandardTemplatemodeHandlers.spring.thymeleaf.mode = html5 # prefixo que é precendido para visualizar nomes ao criar um url.spring.thymeleaf.prefix = Classpath:/ modelos/ # sufixo que é anexado a visualizar nomes ao criar um url.spring.tyymelaf.tysfix.tyfix. spring.Thymeleaf.Template-Resolver-order = # Ordem do resolvedor de modelo na cadeia. spring.thymeleaf.view-names = # Lista separada por vírgula dos nomes de visualização que podem ser resolvidos.
Ambiente de teste ou ambiente de desenvolvimento para evitar problemas inesperados. Configurações gerais: spring.thymeleaf.cache = true
Suporte a configuração JSP
A bota da primavera não é recomendada, mas se você precisar usá -la, pode consultar este projeto como um andaime: suporte JSP
Em geral, o Kotlin suporta a bota da primavera muito bem. Você só precisa usar a inicialização do Spring em Java e traduzi -la em Kotlin.
Resumir
O exposto acima é o método de usar o mecanismo de modelo Thymeleaf para renderizar visualizações da Web pela Spring Boot e Kotlin apresentou a você. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!