SpringBoot入门(2)——Controller响应页面

1.简介

     本节主要知识点是spingboo响应页面的一些处理,上一节中类的注解用的是@RestController,这个注解主要是用于响应内容,一般用于前后端api比较多。
     对于页面响应spring支持很多模板引擎。例如:

a,FreeMarker
b,Groovy
c,Thymeleaf (Spring 官网使用这个)
d,Velocity
e,JSP (貌似Spring Boot官方不推荐,STS创建的项目会在src/main/resources 下有个templates 目录,这里就是让我们放模版文件的,然后并没有生成诸如 SpringMVC 中的webapp目录)

下面我们以jsp页面为例来展示springBoot的页面响应

2.创建Java类
package com.example.demo;

import java.util.Date;
import java.util.Map;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class ViewController {
    //获取属性配置
    @Value("${application.hello:hello world}")
    private String hello = "hello world";

    //直接用字符串返回页面
    @RequestMapping(value = {"/.","/index"})
    public String index(Map model) {

        model.put("time", new Date());
        model.put("name", "张三");
        return "index";

    }
    //使用ModelAndView  返回页面
    @RequestMapping("/wayFirst")
    public ModelAndView wayFirst() {

        ModelAndView modelAndView = new ModelAndView("/show");
        modelAndView.addObject("content", "way of first");
        return modelAndView;

    }
    //使用 model 加 字符串返回
    @RequestMapping("/waySecond")
    public String waySecond(Map model) {

        model.put("content", "way of second");
        return "/show";

    }
}
3.application配置文件

配置 src/main/resources/application.properties

#  page show path (页面路径前缀配置)
spring.mvc.view.prefix=/WEB-INF/view/
#  response page suffix (页面后缀)
spring.mvc.view.suffix=.jsp
# application properties (引用变量)
application.hello=Hello springBoot

4.pom.xml 配置(添加jsp解析jar和jstl.jar)

<dependency>
   <groupId>org.apache.tomcat.embedgroupId>
   <artifactId>tomcat-embed-jasperartifactId>
   <scope>providedscope>
dependency>
<dependency>
   <groupId>javax.servletgroupId>
   <artifactId>jstlartifactId>
dependency>
5.jsp页面(在src/main 下面创建 webapp/WEB-INF/view 目录用来存放我们的jsp页面。估计是springboot不建议使用jsp)

index.jsp页面

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title heretitle>
head>
<body>
时间:${time}<br>
名称:${name}
body>
html>

show.jsp页面

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title heretitle>
head>
<body>
 <h1>${content}h1>
body>
html>
6.页面返回结果

SpringBoot入门(2)——Controller响应页面_第1张图片
SpringBoot入门(2)——Controller响应页面_第2张图片
SpringBoot入门(2)——Controller响应页面_第3张图片

7.项目结构

SpringBoot入门(2)——Controller响应页面_第4张图片

你可能感兴趣的:(springBoot)