在springboot中不推荐视图层使用jsp展示,但是人们以前已经习惯使用jsp,所以对jsp也有支持,但是是解耦性的。也就是说并没有像其他组件一样直接集成到启动器中,所以像jsp引擎之类的需要额外在pom文件中引入坐标

1.pom.xml

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  2. <modelVersion>4.0.0</modelVersion>
  3. <parent>
  4. <groupId>org.springframework.boot</groupId>
  5. <artifactId>spring-boot-starter-parent</artifactId>
  6. <version>1.5.10.RELEASE</version>
  7. </parent>
  8. <groupId>com.mr.li</groupId>
  9. <artifactId>springboot_003</artifactId>
  10. <version>0.0.1-SNAPSHOT</version>
  11.  
  12. <properties>
  13. <java.version>1.7</java.version>
  14. </properties>
  15.  
  16. <dependencies>
  17. <!-- 添加web启动器 -->
  18. <dependency>
  19. <groupId>org.springframework.boot</groupId>
  20. <artifactId>spring-boot-starter-web</artifactId>
  21. </dependency>
  22. <!-- springboot不推荐视图层用jsp展示,但考虑到很多人使用jsp习惯了,所以也支持,不过没在web启动器中集成 -->
  23. <!-- jstl:servlet的标签库 -->
  24. <dependency>
  25. <groupId>javax.servlet</groupId>
  26. <artifactId>jstl</artifactId>
  27. </dependency>
  28. <!-- jasper:tomcat提供的jsp引擎 -->
  29. <dependency>
  30. <groupId>org.apache.tomcat.embed</groupId>
  31. <artifactId>tomcat-embed-jasper</artifactId>
  32. <scope>provided</scope>
  33. </dependency>
  34. </dependencies>
  35. </project>

2.启动类

  1. package com.mr.li;
  2.  
  3. import org.springframework.boot.SpringApplication;
  4. import org.springframework.boot.autoconfigure.SpringBootApplication;
  5.  
  6. @SpringBootApplication
  7. public class App {
  8.  
  9. public static void main(String[] args) {
  10. SpringApplication.run(App.class, args);
  11. }
  12. }

3.实体类

  1. package com.mr.li.pojo;
  2.  
  3. public class User {
  4.  
  5. private int id;
  6.  
  7. private String name;
  8.  
  9. private int age;
  10.  
  11. public User(int id, String name, int age) {
  12. super();
  13. this.id = id;
  14. this.name = name;
  15. this.age = age;
  16. }
  17.  
  18. public User() {
  19. }
  20.  
  21. public int getId() {
  22. return id;
  23. }
  24.  
  25. public void setId(int id) {
  26. this.id = id;
  27. }
  28.  
  29. public String getName() {
  30. return name;
  31. }
  32.  
  33. public void setName(String name) {
  34. this.name = name;
  35. }
  36.  
  37. public int getAge() {
  38. return age;
  39. }
  40.  
  41. public void setAge(int age) {
  42. this.age = age;
  43. }
  44. }

4.jsp视图解析器配置:application.properties

#访问controller方法返回值加的前缀,相当于springmvc项目中的视图解析器的配置
spring.mvc.view.prefix=/WEB-INF/jsp/
#访问controller方法返回值的后缀
spring.mvc.view.suffix=.jsp

5.controller

  1. package com.mr.li.controller;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. import org.springframework.stereotype.Controller;
  7. import org.springframework.ui.Model;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9.  
  10. import com.mr.li.pojo.User;
  11.  
  12. @Controller
  13. public class MyController {
  14.  
  15. @RequestMapping("/show")
  16. public String show(Model model) {
  17. //生成jsp页面需要展示的数据源
  18. List<User> list = new ArrayList<User>();
  19. list.add(new User(1, "张三", 15));
  20. list.add(new User(2, "李四", 16));
  21. list.add(new User(3, "王五", 17));
  22. //这里前面的list是在jsp中使用EL表达式所使用的名称
  23. model.addAttribute("list", list);
  24. //这里返回的是jsp页面名称,前后缀在配置文件中
  25. return "users";
  26. }
  27. }

6.user.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8. <title>Insert title here</title>
  9. </head>
  10. <body>
  11. <table border="1" align="center" width="50%">
  12. <tr>
  13. <th>ID</th>
  14. <th>Name</th>
  15. <th>Age</th>
  16. </tr>
  17. <c:forEach items="${list }" var="user">
  18. <tr>
  19. <td>${user.id }</td>
  20. <td>${user.name }</td>
  21. <td>${user.age }</td>
  22. </tr>
  23. </c:forEach>
  24. </table>
  25. </body>
  26. </html>

访问url: http://localhost:8080/show

项目结构:

springboot整合视图层之jsp的更多相关文章

  1. springboot整合视图层之freemarker

    整合freemarker要求必须将视图文件放在 src/main/resources下的templates文件夹下,该文件夹是安全的不可直接访问的,必须由controller之类的接受请求类去跳转,因 ...

  2. springboot整合视图层之Thymeleaf

    Thymeleaf中有自己的表达式,和自己的语法,可以把数据取出来后再进行判断,遍历等操作,另外它还封装了strings,dates....对象,可以利用这些对象对已有的数据进行简单的逻辑处理: 1. ...

  3. springboot学习入门简易版四---springboot2.0静态资源访问及整合freemarker视图层

    2.4.4 SpringBoot静态资源访问(9) Springboot默认提供静态资源目录位置需放在classpath下,目录名需要符合如下规则 /static  /public  /resourc ...

  4. SpringBoot整合Jsp和Thymeleaf (附工程)

    前言 本篇文章主要讲述SpringBoot整合Jsp以及SpringBoot整合Thymeleaf,实现一个简单的用户增删改查示例工程.事先说明,有三个项目,两个是单独整合的,一个是将它们整合在一起的 ...

  5. springBoot整合mybatis、jsp 或 HTML

    springBoot整合mybatis.jsp Spring Boot的主要优点: 1:  为所有Spring开发者更快的入门: 2:  开箱即用,提供各种默认配置来简化项目配置: 3:  内嵌式容器 ...

  6. springboot整合JSP以及发布项目到独立的tomcat中与打成jar包使用

    之前研究了springboot整合freemarker与thymeleaf的使用.也研究了springboot发布到独立的tomcat的使用以及使用自带的tomcat打成jar包的使用,下面研究集成J ...

  7. 03-01:springboot 整合jsp

    1.修改pom文件,添加坐标 <!-- jstl -->        <dependency>            <groupId>javax.servlet ...

  8. springboot整合jsp模板

    springboot整合jsp模板 在使用springboot框架里使用jsp的时候,页面模板使用jsp在pom.xnl中需要引入相关的依赖,否则在controller中无法返回到指定页面 〇.搭建s ...

  9. springboot 整合 web 项目找不到 jsp 文件

    今天遇到一个问题,就是使用springboot整合web项目的时候,怎么都访问不到 \webapp\WEB-INF\jsp\index.jsp 页面.这个问题搞了半天,试了各种方式.最后是因为在启动的 ...

随机推荐

  1. LeetCode(97):交错字符串

    Hard! 题目描述: 给定三个字符串 s1, s2, s3, 验证 s3 是否是由 s1 和 s2 交错组成的. 示例 1: 输入: s1 = "aabcc", s2 = &qu ...

  2. php实现备份数据库

    public function dataBackup(){ $doc_root=$_SERVER['DOCUMENT_ROOT']; $file_path_name=$doc_root.'/sqlba ...

  3. Linux编程学习笔记(一)

    Linux的发展趋势势在必行,国内的服务器的操作系统Linux占到主导地位,不光是操作系统,还有嵌入式系统. 1. 今天就Linux的其中一个版本做一介绍,如下是Centos的版本之间的区别. ins ...

  4. cf949C 建模,SCC缩点

    /* 给定n个数据中心,m份资料,每份资料在其中的两个中心备份,一天可供下载的时间是h小时 中心i在第hi小时需要维护,无法下载 现在要将一些中心的维护时间往后推1小时,使得任意时刻每份资料都可以被下 ...

  5. poj2441状态压缩dp基础

    /* 给定n头牛,m个谷仓,每头牛只能在一些特定的谷仓,一个谷仓只能有一头牛 问可行的安排方式 dp[i][j]表示前i头牛组成状态j的方案数,状态0表示无牛,1表示有牛 使用滚动数组即可 枚举到第i ...

  6. Eclipse中java文件生成jar文件的方法

    在eclpse中找到你要导出的java程序 选中它   单击文件 -->export   在弹出的export对话框中找到 jar File 单击选中-->next   按图示顺序依次 选 ...

  7. 存储区域网络(Storage Area Network,简称SAN)

    存储区域网络(Storage Area Network,简称SAN)采用网状通道(Fibre Channel ,简称FC,区别与Fiber Channel光纤通道)技术,通过FC交换机连接存储阵列和服 ...

  8. 步步为营-87-imageAreaSelect插件使用(图片剪切)

    1 引用文件 jquery.imgareaselect.min.cs imgareaselect-default.js 2 代码 <%@ Page Language="C#" ...

  9. Nginx 提示host not found in upstream 错误解决方法

      Nginx DNS resolver配置实例,本文讲解在proxy_pass 和 upstream server 通信的时候需要手动指定 resolver,本文就给出了配置实例. nginx 通过 ...

  10. Android Studio编译OsmAnd出现警告:GeoPointParserUtil.java使用或覆盖了已过时的 API。有关详细信息请使用-Xlint:deprecation重新编译

    [背景] 之前折腾: [记录]Android Studio中导入OsmAnd并编译 期间,遇到了编译警告: 1 2 3 4 5 :OsmAnd-java:compileJava 注: E:\crifa ...