代码hello.jsp中通过提交选项跳转至index.jsp页面
时间: 2024-10-19 18:15:11 浏览: 41
Spring Boot默认情况下并不支持直接跳转JSP页面,因为它倾向于RESTful风格的应用开发。要实现从`hello.jsp`页面通过表单提交跳转到`index.jsp`,你需要配置一些额外的东西。首先,确保你的项目包含了对Thymeleaf或者FreeMarker的支持,因为它们可以与Spring Boot集成以渲染JSP。
**步骤1**: 添加模板引擎依赖
在`pom.xml`中添加对应的模板引擎依赖(如Thymeleaf):
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
```
**步骤2**: 创建视图解析器
在`application.properties`或`application.yml`文件中配置视图解析器:
```properties
server.view.prefix=/pages/
server.view.suffix=.jsp
```
这告诉Spring Boot你的JSP页面位于`pages`目录下,并且扩展名为`.jsp`。
**步骤3**: 编写Controller处理表单提交**
创建一个Controller来接收表单数据并决定如何响应:
```java
@Controller
public class HomeController {
@GetMapping("/hello")
public String handleHello(@RequestParam(value="submit", required=false, defaultValue="") String action) {
if ("goToIndex".equals(action)) { // 假设这是提交按钮的名称
return "redirect:/index"; // 跳转到index.jsp
}
return "hello"; // 如果未提交或提交其他动作,则返回hello.jsp
}
}
```
在这个例子中,如果提交按钮名为"submit"并且值为"goToIndex",则会重定向到`/index`。
**相关问题--:**
1. 如何在Spring Boot中启用FreeMarker作为模板引擎?
2. 如果不想使用模板引擎,如何在纯Spring MVC项目中处理JSP跳转?
3. Spring Boot中如何避免默认的Whitelabel Error Page?
阅读全文