`

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模板

    SpringBoot整合Thymeleaf模板是一项常见的Web开发任务,它结合了SpringBoot的便捷性和Thymeleaf的动态模板引擎,使得开发人员可以快速构建功能丰富的Web应用。下面将详细介绍这个过程及其涉及的关键知识点。 首先,...

    springboot2.7.15+thymeleaf 代码

    SpringBoot 2.7.15 与 Thymeleaf 的整合是现代Java Web开发中的常见实践,这个项目提供了一个基础的实现,包括了登录功能以及员工管理的相关操作。Thymeleaf是一款强大的服务器端模板引擎,常用于Spring Boot应用中...

    SpringBoot快速整合ShiroRedis与Thymeleaf(完整版)免费下载

    在本资源中,我们主要探讨如何将Spring Boot与Shiro安全框架、Redis缓存系统以及Thymeleaf模板引擎进行整合,以构建一个高效的后端应用程序。以下是对这些技术及整合过程的详细说明: 1. **Spring Boot**: Spring...

    springboot+mybatis+redis+thymeleaf学习整合web项目demo源码

    这是一个基于Spring Boot、MyBatis、Redis和Thymeleaf技术栈构建的Web项目示例。这个源码库提供了一个全面的学习平台,帮助开发者理解如何将这些流行的技术整合到一个实际的应用中。以下是对这些技术及其整合方式的...

    SpringBoot整合Jpa和Thymeleaf实现CRUD

    SpringBoot整合Jpa和Thymeleaf实现CRUD是一个典型的Web开发应用场景,它结合了SpringBoot的便捷性、JPA的数据持久层处理以及Thymeleaf的模板引擎,旨在简化开发流程并提供高效的数据库操作。在这个项目中,我们可以...

    springboot2+hibernate+thymeleaf集成例子

    在本集成例子中,我们关注的是SpringBoot 2与Hibernate和Thymeleaf的整合,这三个组件都是Java Web开发中的重要工具。SpringBoot简化了Spring应用程序的创建和配置,Hibernate是流行的ORM(对象关系映射)框架,而...

    rebu.zip springboot+mybatis+thymeleaf 热部署 java 热部署页面访问

    - `pom.xml`: Maven的项目对象模型文件,定义了项目依赖,包括SpringBoot、MyBatis和Thymeleaf的版本。 - `.gitignore`: Git版本控制系统忽略的文件列表。 - `README.md`: 项目简介或者使用指南。 总的来说,"rebu....

    基于SpringBoot2+Shiro+Thymeleaf的后台管理系统.zip

    在SpringBoot项目中,Thymeleaf作为视图解析器,能够与SpringMVC无缝结合,实现动态数据展示。 【系统架构】 基于SpringBoot2+Shiro+Thymeleaf的后台管理系统,通常采用三层架构:表现层(View)、业务逻辑层...

    SpringBoot整合Thymeleaf.docx

    下面是关于SpringBoot与Thymeleaf整合的详细步骤和相关知识点: 1. **创建Thymeleaf入门项目** - 使用Maven作为构建工具,首先需要创建一个新的Maven项目。 - 在`pom.xml`文件中添加Thymeleaf的依赖。通过以下...

    springboot+hibernate+thymeleaf分页增删改查demo

    这个项目为初学者提供了一个很好的学习实例,演示了如何将SpringBoot、Hibernate和Thymeleaf整合在一起,完成一个简单的Web应用。对于想要了解这些技术如何协同工作的开发者来说,这是一个很好的起点。通过实践该...

    IDEA Springboot集成hikari连接池 thymeleaf

    在这个教程中,我们将深入探讨如何在SpringBoot项目中集成Hikari连接池,并使用Thymeleaf作为模板引擎。这对于初学者来说是一个很好的起点,因为这个小demo提供了从MVC到数据库全面测试的实例。 首先,让我们了解**...

    springboot+mybatis+thymeleaf项目

    标题 "springboot+mybatis+thymeleaf项目" 暗示了这是一个基于Spring Boot、MyBatis和Thymeleaf技术栈的Web应用程序。这个项目可能是一个用于开发、测试或部署的平台,旨在集成这三种技术并提供特定功能,如在本例中...

    SpringBoot框架整合thymeleaf模板和mybatis

    整合SpringBoot、Thymeleaf和MyBatis,我们可以创建一个高效的Web应用,其中SpringBoot负责整体的上下文管理和自动配置,Thymeleaf处理用户界面的动态展示,而MyBatis则作为数据访问层,负责与数据库交互。...

    基于springboot+bootstrap模版+thymeleaf的一个简单自习室预约管理系统源码+数据库sql文件.zip

    通过这个项目,开发者可以学习到如何利用Spring Boot构建后台服务,如何用Thymeleaf和Bootstrap设计用户界面,以及如何使用MyBatis进行数据操作。同时,对于管理员界面的实现,开发者可以了解权限控制、数据展示、...

    springboot整合thymeleaf完整例子

    本案例将详细讲解如何将SpringBoot与Thymeleaf进行整合,构建一个完整的Web应用。 首先,我们需要在SpringBoot项目中引入Thymeleaf的依赖。在`pom.xml`文件中,添加如下Maven依赖: ```xml &lt;groupId&gt;org.spring...

    SpringBoot+Mybatis+Thymeleaf整合Shiro入门

    在本文中,我们将深入探讨如何将SpringBoot、Mybatis和Thymeleaf三大技术栈与Shiro安全框架整合,以实现一个完整的Web应用程序的权限控制和用户管理。首先,我们来了解一下这四个核心技术: 1. **SpringBoot**:...

    springboot+mybatis+thymeleaf实现简单的留言板

    在本项目中,我们利用SpringBoot、MyBatis和Thymeleaf三个核心框架来构建一个简单的留言板系统。SpringBoot以其便捷的初始化和配置方式,为开发者提供了快速开发Web应用的可能;MyBatis作为持久层框架,简化了SQL...

    SpringBoot+MyBatisPlus+Thymeleaf 增删改查CRUD

    在本项目中,"SpringBoot+MyBatisPlus+Thymeleaf 增删改查CRUD"是一个典型的Web开发应用,它整合了三个关键的技术框架:Spring Boot、MyBatis Plus和Thymeleaf。下面将详细介绍这三个组件以及它们在实现增删改查...

    SpringBoot整合Mybatis和Thymeleaf实现简单的增删改查

    在本项目中,我们主要探讨如何使用SpringBoot框架与Mybatis和Thymeleaf模板引擎进行集成,以实现一个简单的数据库操作,包括增、删、改、查功能。这是一个常见的Web开发应用场景,对于初学者或者希望提升SpringBoot...

Global site tag (gtag.js) - Google Analytics