Spring Boot (教程五:响应JSP页面)

GitHub 地址:

https://github.com/asd821300801/Spring-Boot.git


@Controller 注解是用来专门响应页面的,spring-boot 支持多种模版引擎

其中包括:

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


响应JSP页面只需四个步骤:

1:pom加配置,并且把 <packaging>jarpackaging> 改成  <packaging>warpackaging> 
2:application.properties配置文件加入JSP支持
3:src/main  下创建 webapp/WEN-INF/page/ 文件夹
4 : 写controller层,具体跟SpringMVC一样


pom.xml加入支持jsp的依赖

<dependency>
   <groupId>org.apache.tomcat.embedgroupId>
    <artifactId>tomcat-embed-jasperartifactId>
    <scope>providedscope>
dependency>
<dependency>
    <groupId>javax.servletgroupId>
    <artifactId>jstlartifactId>
dependency>

重点:

<packaging>jarpackaging> 改成  <packaging>warpackaging>


改完之后别忘了 maven update

Spring Boot (教程五:响应JSP页面)_第1张图片



application.properties配置文件加入JSP支持

# 页面默认前缀目录
spring.mvc.view.prefix=/WEB-INF/page/
# 响应页面默认后缀
spring.mvc.view.suffix=.jsp
# 自定义属性,可以在Controller中读取
application.hello=Hello World!


创建webapp文件夹以及页面

src/main  下创建 webapp/WEN-INF/page/ 文件夹

Spring Boot (教程五:响应JSP页面)_第2张图片


在page页面下创建jsp文件,需要注意的是:jsp放置的目录必须是配置文件里对应的,否则访问不到


这里我创建2个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>indextitle>
head>
<body>
    当前系统时间:<br />
    <font size=3 color=red>Time:${time }font>

    <br />
    Message:${message }
body>
html>

  • page1.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>
 <b>
    ${content }
 b>
body>
html>

工程目录

Spring Boot (教程五:响应JSP页面)_第3张图片


写controller层


  • DemoController.java
package com.example.controller;

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

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

/**
 * Spring Boot  教程
 * Controller
 * 如何响应JSP页面
 * 
 * 1:pom加配置,并且把 jar 改成  war
 * 2:application.properties配置文件加入JSP支持
 * 3:src/main  下创建 webapp/WEN-INF/page/ 文件夹
 * 4: 写controller层,具体跟SpringMVC一样
 * 
 * 参考:http://blog.csdn.net/catoop/article/details/50501676
 * 
 * @author LingDu
 *
 */
@Controller
public class DemoController {
    //从application.properties中读取配置,如取不到默认值为Hello World!
    @Value("${application.hello:Hello World!}")
    private String hello = "Hello World!";


    /**
     * 默认页
* @RequestMapping("/") 和 @RequestMapping是有区别的 * 如果不写参数,则为全局默认页,加入输入404页面,也会自动访问到这个页面。 * 如果加了参数“/”,则只认为是根页面。 * @param model * @return */
@RequestMapping(value = {"/","/index"}) public String index(Map model){ model.put("time", new Date()); model.put("message", this.hello); return "index"; } /** * 视图绑定 * @return */ @RequestMapping("/page1") public ModelAndView page1(){ ModelAndView mav = new ModelAndView("page1"); mav.addObject("content", "1:通过返回ModelAndView对象,将属性值传递给jsp页面"); return mav; } /** * 接收Model对象 * 设置属性值 * 返回String字符串(页面的路径) * @param model * @return */ @RequestMapping("/page2") public String page2(Model model){ model.addAttribute("content", "2:通过接收Model对象,设置属性的方式传递给jsp页面"); return "page1"; } }

访问

http://localhost:8080/index.action

Spring Boot (教程五:响应JSP页面)_第4张图片


http://localhost:8080/page1

Spring Boot (教程五:响应JSP页面)_第5张图片


http://localhost:8080/page2

Spring Boot (教程五:响应JSP页面)_第6张图片

你可能感兴趣的:(spring,spring-boot,jsp,Spring,Boot,简单粗暴的,Spring,Boot,教程)