spring boot整合视图层技术jsp,freemarker,Thymeleaf入门demo

首先新建一可以正常启动spring boot项目

https://blog.csdn.net/qq_43560721/article/details/104653470

1.jsp

项目总结构

pom文件添加依赖

 <!-- jasper -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>

        <!-- jstl -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>

新建包webapp->WEB-INF->jsp,pojo,controller,(都是在相应位置右击鼠标)

新建class->User,userController

package com.example.demo.pojo;

public class User {
    private Integer id;
    private String name;
    public User() {
        super();
        // TODO Auto-generated constructor stub
    }
    public User(Integer id, String name) {
        super();
        this.id = id;
        this.name = name;
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Override
    public String toString() {
        return "User [id=" + id + ", name=" + name + "]";
    }

}
package com.example.demo.controller;

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

import com.example.demo.pojo.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;


@Controller
public class userController {
    @RequestMapping("hello")
    public String hello(ModelMap map) {
        List<User> userList = new ArrayList<>();
        userList.add(new User(1,"小小舍"));
        userList.add(new User(2,"xxs"));
        map.put("userList", userList);
        return "main";
    }
}

新建jsp

<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2020/3/17 0017
  Time: 17:06
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<html>
<head>
    <meta charset="utf-8">
    <title>Title</title>
</head>
<body>
<table border="1" align="center" width="50%">
    <tr>
        <td>用户编号</td>
        <td>用户姓名</td>
    </tr>
    <c:forEach items="${userList }" var="u">
        <tr>
            <td>${u.id }</td>
            <td>${u.name }</td>
        </tr>
    </c:forEach>
</table>
</body>
</html>

在src/main/resources目录下找到application.properties配置文件添加配置

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

选中项目,然后点击鼠标右键选择Open Module Settiongs项目属性配置画面,确认配置没有问题,我的是默认ok的。

如果没有web需点击左上角的“+”,创建一下再选中web

找到启动类,运行即可。

在浏览器输入http://localhost:8080/hello

可访问到jsp页面内容

可能出现错误

检查一下自己的application.properties配置是否和自己设置文件层一致。

 

 

2.freemarker

项目总结构

pom文件添加依赖

<!-- freemarker -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-freemarker</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-resources-plugin</artifactId>
			<version>3.1.0</version>
		</dependency>
		
		<!-- jstl -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
		</dependency>

在src/main/resources目录下找到application.properties配置文件添加配置

# 不写也能正常运行,最好加上,有的版本不加就404
spring.freemarker.template-loader-path=classpath:/templates/
spring.freemarker.suffix=.ftl

pojo

package cn.xxs.springbootf.pojo;

public class User {
    private Integer id;
    private String name;
    public User() {
        super();
        // TODO Auto-generated constructor stub
    }
    public User(Integer id, String name) {
        super();
        this.id = id;
        this.name = name;
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Override
    public String toString() {
        return "User [id=" + id + ", name=" + name + "]";
    }

}
userController
package cn.xxs.springbootf.controller;

import cn.xxs.springbootf.pojo.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;

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


@Controller
public class userController {
    @RequestMapping("/hello")
    public String hello(ModelMap map) {
        List<User> userList = new ArrayList<>();
        userList.add(new User(1,"小小舍"));
        userList.add(new User(2,"xxs"));
        map.put("userList", userList);
        return "freemarker/main";
    }
}

main.ftl

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Insert title here</title>
</head>
<body>
<table border="1" align="center" width="50%" bgcolor="#ffb6c1">
    <tr>
        <td>用户编号</td>
        <td>用户姓名</td>
    </tr>
    <#list userList as u>
        <tr>
            <td>${u.id }</td>
            <td>${u.name }</td>
        </tr>
    </#list>
</table>
</body>
</html>

启动启动类即可

可能出现错误

注意检查以下几个地方

3.Thymeleaf

项目总结构

pom文件添加依赖

<!-- thymeleaf -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-resources-plugin</artifactId>
			<version>3.1.0</version>
		</dependency>
		<dependency>
    		      <groupId>org.yaml</groupId> 
    		      <artifactId>snakeyaml</artifactId>
		</dependency>
		<!-- jstl -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
		</dependency>
userController
package cn.xxs.springbootttt.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;



@Controller
public class userController {
    @RequestMapping("user")
    public String user(Model model) {

        model.addAttribute("msg","这是一个Thymeleaf ^-^");

        return "user";
    }
}

user.html

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<span th:text="${msg}"></span>
</body>
</html>

运行启动类即可

发布了141 篇原创文章 · 获赞 33 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/qq_43560721/article/details/104894022