写这篇文章的目的有2 个:
- 学习总结,总结自己对于如何实现html与jsp同时跳转的方法及数据传递
- 感恩回馈,自己将自己从网友那提供的教程中获得有用的东西再反馈给网友们
这篇文章的主要解决的问题有:
- 如何在spring中同时跳转html与jsp,而不使用thymeleaf(因为thymeleaf对html格式有严格要求,对于我这样的新手来说,实在容易出错)
- 如何给jsp中传入数据
一.如何在spring中同时跳转html与jsp
思路:通过配制springmvc的配制来控制html文件的跳转,再通过跳转语句来实现jsp的跳转。跳转语句如下:
request.getRequestDispatcher("/WEB-INF/helloJsp.jsp").forward(request, response);
配制:
- Pom文件
<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo2</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--springBoot整合JSP添加依赖 javax.servlet-api,jstl jasper -->
<!--servlet依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<!--jstl依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<!--使jsp页面生效 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<!--支持热部署 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<!-- 引入aop支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
- 静态资源放置位置
注意:这里的webapp是自己对应创建的。我使用的STS编辑器,新建项目的时候是没有webapp的。
Yml文件的配制如下:
server:
port: 8090
servlet:
context-path: /demo2/
#springmvc prefix suffix
#这里要注意的是,如果只跳转jsp文件的话,可以将下面的jsp的配制文件打
#开,将html的配制文件关闭,这两个配制中只能存在一个。
#spring:
# mvc:
# view:
# prefix: /WEB-INF/
# suffix: .jsp
spring:
mvc:
view:
prefix: /pages/views/
suffix: .html
编写controller层内容如下
验证:
验证成功,表示这种方法是可行的,能实现同时跳转jsp文件与html文件。
二.如何在jsp中传入数据:
修改controller程序为下图:
再修改jsp文件如下:
验证:成功,我们传入的数据成功