• Spring Boot + thymeleaf 后台与页面(二)


    Spring Boot推荐使用thymeleaf模板完成与页面的交互(已不支持JSP某些特性,不推荐JSP)

    步骤

    在一个Spring Boot Web项目基础上,也可以参考我前一篇文章建立的项目

    1、pom.xml添加thymeleaf依赖

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>

      <groupId>com.zit</groupId>
      <artifactId>SpringBoot</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <packaging>jar</packaging>


      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      </properties>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.1.BUILD-SNAPSHOT</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
       
        <!-- Spring data jpa -->
        <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-data-jpa</artifactId>
      </dependency>
      
      <!-- thymeleaf模板 -->
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
      </dependency>
     
    </dependencies>

    <repositories>
        <repository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/libs-snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>

    </project>



    2、src/main/resources是默认的静态资源目录,在他下面新建一个文件夹templates

     他是Spring Boot约定默认的页面路径

    在他下面创建hello.html页面

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    你真好
    <h1 th:text="${msg}"></h1>
    </html>

    3、application.properties

    在其中关闭thymeleaf缓存

    #DB Configuration:
    spring.datasource.driverClassName = com.mysql.jdbc.Driver
    spring.datasource.url = jdbc:mysql://localhost:3306/test?characterEncoding=utf-8
    spring.datasource.username = root
    spring.datasource.password =

    #JPA Configuration: 
    spring.jpa.database=MySQL
    spring.jpa.show-sql=true 
    spring.jpa.generate-ddl=true 
    spring.jpa.hibernate.ddl-auto=update 
    spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy 

    #关闭thymeleaf缓存
    spring.thymeleaf.cache=false

    4、控制器Controller类中:

    注意:与web页面交互,用@Controller

    package com.zit;

    import java.util.List;

    import javax.annotation.Resource;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.ModelMap;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.bind.annotation.RestController;

    import com.zit.dao.UserLoginDao;
    import com.zit.model.UserLogin;

    @Controller
    @SpringBootApplication
    @EnableAutoConfiguration
    public class UserLoginController {

        @Resource
        UserLoginDao userLoginDAO;

       
        @RequestMapping("/list")
        public List<UserLogin> list(){
         return (List<UserLogin>) userLoginDAO.findAll();
        }
       
        @RequestMapping("/test")
        public String index(ModelMap model){
            model.addAttribute("msg","中华人民共和国");
         return "hello";

        }
       
        public static void main(String[] args) {
      SpringApplication.run(UserLoginController.class, args);
     }
    }

    访问:http://localhost:8080/test

    即可跳转到hello.html页面

     

    如果访问:http://localhost:8080/list/

    它在页面上返回的是Json数据,Rest风格

    所以在类上面的@Controller改为@RestController即可

  • 相关阅读:
    【转载】天才与柱子
    Windows Phone 7 隔离存储空间资源管理器
    (收藏)让你平步青云的十个谈话技巧
    (收藏)《博客园精华集》设计模式分册
    (收藏)C#开源资源大汇总
    (收藏)生活物语
    (收藏)C# ORM/持久层框架
    (收藏)《博客园精华集》AJAX与ASP.NET AJAX部分
    小型项目总结之五
    VS 打包完美解决方案
  • 原文地址:https://www.cnblogs.com/Donnnnnn/p/8588570.html
Copyright © 2020-2023  润新知