`

springboot构建项目并与thymeleaf整合

阅读更多
  • springboot可实现快速开发,其中提供了spring-boot-starter-web为web开发提供了支持,它为我们提供了嵌入的tomcat和springmvc的依赖
  • thymeleaf是一个java类库,是xml/xhttml/html5的模板引擎,可作为MVC的web应用的view层。也是在springboot开发中推荐采用的

1.构建一个springboot项目

   选择Spring Starter Project新建项目,同时选择web和thymeleaf依赖

   pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<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.zan</groupId>
	<artifactId>demo_springboot</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>demo_springboot</name>
	<description>Demo project for Spring Boot</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.4.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>


</project>

 2.javabean 示例:

package com.zan;

public class Person {

	private String name;
	private int age;
	
	public Person() {
		
	}
	
	public Person(String name,int age) {
		super();
		this.name=name;
		this.age=age;
	}
	
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	
}

 3.添加静态文件,放在src/main/resources/static下



 

4,演示页面,新建一个index.html,并放置在src/main/resources/templates下

<html xmlns:th="http://www.thymeleaf.org">
  <head>
  	 <meta content="text/html;charset=UTF-8"/>
  	 <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
     <meta name="viewport" content="width=device-width, initial-scale=1"/>
    <link th:href="@{bootstrap/css/bootstrap.min.css}" rel="stylesheet"/> 
    <link th:href="@{bootstrap/css/bootstrap-theme.min.css}" rel="stylesheet"/>
    
     <script th:src="@{jquery-1.10.2.min.js}" type="text/javascript"></script>
     <script th:src="@{bootstrap/js/bootstrap.min.js}"></script>
  </head>
  <body>
  
  <div th:if="${not #lists.isEmpty(people)}">
	  <div class="panel panel-primary">
	    <div class="panel-heading">
	        <h3 class="panel-title">person列表展示</h3>
	    </div>
	    <div class="panel-body">
	        <ul class="list-group">
				<li class="list-group-item" th:each="person:${people}">
				    <span th:text="${person.name}"></span>
				   	<span th:text="${person.age}"></span>
				   	<button class="btn" th:onclick="'getName(\'' + ${person.name} + '\');'">获得名字</button>
				</li>
	        </ul>
	    </div>
	 </div>
 </div>
  

  
  <script th:inline="javascript">	
  	function getName(name){
  		alert(name);
  	}
  </script>
  
  </body>
 </html>

 5.准备数据

 

package com.zan;

import java.util.ArrayList;
import java.util.List;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@SpringBootApplication
public class DemoSpringbootApplication {

	public static void main(String[] args) {
		SpringApplication.run(DemoSpringbootApplication.class, args);
	}
	
	
	@RequestMapping("/")
	public String index(Model model){
		
		List<Person> people = new ArrayList<Person>();
		Person p1 = new Person("zhangsan",23);
		Person p2 = new Person("lisi",22);
		Person p3 = new Person("wangwu",25);
		people.add(p1);
		people.add(p2);
		people.add(p3);
		
		model.addAttribute("people", people);
		
		return "index";
	}
}

  点击java application或 spring boot app运行项目,结果如下:

 

 



 

 注意:可能会出现

 

 解决办法:1.看一下application启动类的位置是否放置对,比如我的groupId是com.zan,则子包就是com.zan.xxx。Application类就放在com.zan下就OK

2.若第一个没问题的话,运行项目还是报错,就删除/users/zan/.m2/repository/org下的所有文件。然后 update project.

 

 

 

 

 

分享到:
评论

相关推荐

    SpringBoot整合Thymeleaf.docx

    创建Thymeleaf的入门项目 maven构建简单项目 修改pom文件添加thymeleaf的坐标 &lt;groupId&gt;org.springframework.boot &lt;artifactId&gt;spring-boot-starter-thymeleaf &lt;/dependency&gt;

    springboot项目整合.zip

    第一篇:构建第一个SpringBoot工程] 第二篇:SpringBoot配置详解] 第三篇:SpringBoot日志配置] 第四篇:整合Thymeleaf模板] 第五篇:使用JdbcTemplate访问数据库] 第六篇:整合SpringDataJpa] 第七篇...

    尚硅谷SpringBoot视频全套(核心技术篇+整合篇)

    着重介绍SpringBoot的与各大场景的整合使用,内容包括:缓存(整合Redis),消息中间件(整合RabbitMQ),检索(整合ElasticSearch),任务(异步任务,定时任务,邮件任务),安全(整合SpringSecurity),分布式...

    基于SpringBoot + Thymeleaf + Layui + Apache Shiro 的后台管理系统 .zip

    1. SpringBoot Starter:他将常用的依赖分组进行了整合,将其合并到一个依赖中,这样就可以一次性添加到项目的Maven或Gradle构建中。 2,使编码变得简单,SpringBoot采用 JavaConfig的方式对Spring进行配置,并且...

    基于springboot+thymeleaf构建的保险出单系统(含后台管理系统).zip

    与普通的 Spring 项目相比,Spring Boot 可以简化项目的配置和编码,使项目部署更方便,而且它还为开发人员提供了“开箱即用”的良好体验,可以进一步提升开发效率。 Spring Boot 正在成为越来越流行的开发框架。从...

    128元尚硅谷Java视频教程_SpringBoot视频教程(上)核心技术篇

    SpringBoot是企业级开发的整体整合解决方案,特别用于快速构建微服务应用,旨在用最简单的方式让开发人员适应各种开发场景; 本视频着重介绍SpringBoot的使用和内部原理;内容包含微服务概念、配置文件、日志框架的...

    docker+spring boot+mybatis+druid+Thymeleaf+mysql整合开发个人博客系统,包括后台...

    博客系统已经上线的编辑器使用markdown如果不会docker有非docker的部署方式,默认的是非docker部署的maven构建

    SpringBoot---Invoice-System:使用SpringBoot 2,Spring JPA,Spring Security和Thymeleaf构建的简单发票管理系统

    使用SpringBoot 2,Spring JPA,Spring Security,Thymeleaf,jQuery,Bootstrap 4和FontsAwesome构建的简单发票管理系统。 演示版 您可以在用户名admin中访问此Web应用程序的实时演示。 密码:12345 屏幕截图 运行 ...

    SpringBoot 基础教程 基于2.0.0.M5制作

    SpringBoot 使用Spring Initializr快速构建工程 SpringBoot 工程结构推荐(新手必看) 开发工具 IntelliJ IDEA 使用教程(2017图文版) -- 从入门到上瘾 外部配置 SpringBoot 配置文件详解(告别XML) SpringBoot 如何...

    springboot学习笔记,适合新手

    1、首先对Spring Boot做一个简单的介绍。 2、开发工具idea,构建工具maven。...3、项目构建启动 4、RESTful URL 二、Spring Boot 项目开发 1、整合Spring Data JPA 2、使用Thymeleaf模板 3、整合swagger

    员工管理系统 SpringBoot + MyBatis-Plus + MySQL + BootStrap

    此项目适用于刚刚学完SpringBoot与MyBatis-plus的新手,本人也是刚刚学完,出于练习的目的构建了这个小项目,通过此项目可以更加熟悉这两种技术,另外也可以对Shiro安全框架有所了解,以及shiro与thymeleaf的整合,...

    2018年最新尚硅谷SpringBoot全套高清不加密教学视频(内含Docker)-

    pringBoot是企业级开发的整体整合解决方案,特别用于快速构建微服务应用,旨在用最简单的方式让开发人员适应各种开发场景 本视频着重介绍SpringBoot的使用和内部原理 内容包含微服务概念、配置文件、日志框架的使用...

    尚硅谷全网最强SpringBoot视频

    SpringBoot是企业级开发的整体整合解决方案,特别用于快速构建微服务应用,旨在用最简单的方式让开发人员适应各种开发场景; 本视频着重介绍SpringBoot的使用和内部原理;内容包含微服务概念、配置文件、日志框架的...

    gradle+springboot+mybaits+shiro+......

    1后台gradle构建,2springboot,3,系统架构,4.模板引擎---thymeleaf或者json返回,集成fastjson,5.自动生成接口API,6.数据访问jdbc和mybaits,7.定时任务8.统一异常处理9.整合redis10.配置连接池11.热部署12.身份...

    尚硅谷-SpringBoot视频

    SpringBoot是企业级开发的整体整合解决方案,特别用于快速构建微服务应用,旨在用最简单的方式让开发人员适应各种开发场景; 本视频着重介绍SpringBoot的使用和内部原理;内容包含微服务概念、配置文件、日志框架的...

    本科毕业设计+利用springboot+mybatis打造一个简易的客户管理系统,前后端分离

    与Springboot整合 Springboot 整合Bean、Service、Controller Restful借口设计和使用 前端 Thymeleaf Jquery(ajax传值) HTML 本科毕业设计+利用springboot+mybatis打造一个简易的客户管理系统,前后端分离 ...

    尚硅谷SpringBoot视频 ,百度网盘分享链接(课件、源码、视频)

    SpringBoot是企业级开发的整体整合解决方案,特别用于快速构建微服务应用,旨在用最简单的方式让开发人员适应各种开发场景; 本视频着重介绍SpringBoot的使用和内部原理;内容包含微服务概念、配置文件、日志框架的...

    尚硅谷Java视频教程_SpringBoot视频教程

    教程名称: 尚硅谷Java视频教程_SpringBoot视频教程SpringBoot是企业级开发的整体整合解决方案,特别用于快速构建微服务应用,旨在用最简单的方式让开发人员适应各种开发场景;本视频着重介绍SpringBoot的使用和...

Global site tag (gtag.js) - Google Analytics