봄 부팅 통합 뷰 레이어 기술 JSP, 프리 마커, Thymeleaf 소개 데모

첫 번째 프로젝트는 일반적으로 봄 부팅을 시작할 수 있습니다 만들

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

1.jsp

전체 구조

종속성을 추가 치어 파일

 <!-- 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-IFN-γ> JSP, POJO, 제어부 (대응하는 위치에 오른쪽 클릭이다)

 

新建 클래스 -> 사용자, 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 / 메인 / 자원 디렉토리를 추가 할 수있는 application.properties 구성 파일을 찾기

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

항목을 선택한 다음, 나는 기본적으로 확인했다, 마우스 오른쪽 버튼을 클릭하고 열기 모듈 Settiongs 프로젝트 속성 구성 화면을 선택, 구성을 문제를 확인하지 않습니다.

당신은 상단을 클릭 할 필요가없는 경우 웹의 코너를 왼쪽 "+"를 만든 다음 웹을 선택합니다

실행 시작 클래스를 찾을 수 있습니다.

브라우저에 입력 통해 http : // localhost : 8080 / 안녕하세요

페이지 내용을 JSP에 액세스

오류가 발생할 수 있습니다

Application.properties는 구성이 일관 층 자신의 파일을 설정 확인.

 

 

2.freemarker

전체 구조

종속성을 추가 치어 파일

<!-- 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 / 메인 / 자원 디렉토리를 추가 할 수있는 application.properties 구성 파일을 찾기

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

노래

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

전체 구조

종속성을 추가 치어 파일

<!-- 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 ·은 50000 +를 볼

추천

출처blog.csdn.net/qq_43560721/article/details/104894022