Spring Boot 第二节 利用Controller响应JSP

来源:互联网 发布:mysql分割字符 编辑:程序博客网 时间:2024/06/08 17:34

一、编写PageController.java测试类

package org.springboot.sample.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;@Controllerpublic class PageController {    // 从 application.properties 中读取配置,如取不到默认值为Hello Shanhy    @Value("${application.hello}")    private String hello;    /**     * 默认页<br/>     * @RequestMapping("/") 和 @RequestMapping 是有区别的     * 如果不写参数,则为全局默认页,假如输入404页面,也会自动访问到这个页面。     * 如果加了参数“/”,则只认为是根页面。     *     * @return     * @author SHANHY     * @create  2016年1月5日     */    @RequestMapping(value = {"/","/index"})    public String index(Map<String, Object> model){        // 直接返回字符串,框架默认会去 spring.view.prefix 目录下的 (index拼接spring.view.suffix)页面        // 本例为 /WEB-INF/jsp/index.jsp        model.put("time", new Date());        model.put("message", this.hello);        return "index";    }    /**     * 响应到JSP页面page1     *     * @return     * @author SHANHY     * @create  2016年1月5日     */    @RequestMapping("/page1")    public ModelAndView page1(){        // 页面位置 /WEB-INF/jsp/page/page.jsp        ModelAndView mav = new ModelAndView("page/page1");        mav.addObject("content", hello);        return mav;    }    /**     * 响应到JSP页面page1(可以直接使用Model封装内容,直接返回页面字符串)     *     * @return     * @author SHANHY     * @create  2016年1月5日     */    @RequestMapping("/page2")    public String page2(Model model){        // 页面位置 /WEB-INF/jsp/page/page.jsp        model.addAttribute("content", hello + "(第二种)");        return "page/page1";    }}


二、 pom.xml中增加支持JSP相关的依赖

 

 <dependency>            <groupId>org.apache.tomcat.embed</groupId>            <artifactId>tomcat-embed-jasper</artifactId>            <scope>provided</scope>          </dependency>      <dependency>         <groupId>javax.servlet</groupId>         <artifactId>jstl</artifactId>      </dependency>
三、创建JSP

在 WEB-INF下建立index.jsp,并建立目录page,增加page1.jsp测试文件

<%@ page language="java" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>Spring Boot Sample</title></head><body>    Time: ${time}    <br>    Message: ${message}</body></html>

<%@ page language="java" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>Spring Boot Sample</title></head><body>    <h1>${content }</h1></body></html>

四、增加application.properties

要springboot支持jsp还需要在类加载目录下src/main/resources下新建application.properties文件,写上前台文件的存放路径和后缀名,也可以增加一些用到的变量

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

运行SpringBootSampleApplication服务

分别访问如下页面

http://localhost:8080 
http://localhost:8080/page1 
http://localhost:8080/page2

查看结果即可

1 0
原创粉丝点击