博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于springMVC的页面跳转、转发、重定向等
阅读量:7212 次
发布时间:2019-06-29

本文共 1968 字,大约阅读时间需要 6 分钟。

hot3.png

基于from的跳转

0. 配置:自动扫描装载的controller包和视图解析器

1. 简单的基于form的请求跳转

2. 后台

package com.any.demoSpring.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.ResponseBody;@Controllerpublic class TestController {    @RequestMapping(value="postTest.do",method= RequestMethod.POST)    public String postTest(){        return "TEST2";    }}

基于form的重定向

1. 这里的添加的前缀redirect:就是代表重定向的意思,意思是切换到新的的视图中,重定向Model不共享,URL会被改变。注意重定向的话是GET的请求,也不再适用所配置的spring视图解析,redirect:后面要写出完整的页面资源URL。

package com.any.demoSpring.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.ResponseBody;@Controllerpublic class TestController {    @RequestMapping(value="postTest.do",method= RequestMethod.POST)    public String postTest(){        return "redirect:/html/TEST2.html";    }}

又或者想隐藏完整资源的重定向URL可以这样做!redirect: 重定向一个GET请求(redirect.do)之后,再用这个请求返回经过视图解析器解析的视图TEST2!

@RequestMapping(value="postTest.do",method= RequestMethod.POST)    public String postTest(){        return "redirect:redirect.do";    }    @RequestMapping(value="redirect.do",method= RequestMethod.GET)    public String redirect(){        return "TEST2";    }

2. 如果是forward:表示转发。URL不变,且共享Model数据

3. 直接返回视图的话那肯定是共享model数据啦~

AJAX不支持后台跳转页面

ajax技术的是实现局部刷新并不是特地用来实现跳转的,当然我们可以实现跳转!根据ajax响应到的数据(头部或者内容)判断然后在前端进行跳转。(这里不做判断,当请求成功返回时候就跳转,使用同以上form相同的后台)

    
TEST

ps:ajax默认是异步请求,我们可以根据自己需求设置为同步请求!

转载于:https://my.oschina.net/u/3697586/blog/1827687

你可能感兴趣的文章
Android8.0运行时权限策略变化和适配方案
查看>>
Latex中设置字体颜色
查看>>
通过JS控制各种元素的点击事件的【时间间隔】,特别适合【发表评论】功能...
查看>>
话说TP框架里的Vendor这目录是干什么用的啊?类库扩展thinkphp3.1版本
查看>>
Android SDK与API版本的对应关系
查看>>
Elasticsearch yellow 意味着主分片可用,副本不可用
查看>>
Android开发实现QQ三方登录 标签: android开发qq三方登录
查看>>
2017 Multi-University Training Contest - Team 9 1004&&HDU 6164 Dying Light【数学+模拟】
查看>>
【Linux】使用xshell登陆时密码框为灰色,无法输入密码
查看>>
gradle平级项目引用
查看>>
win10应用开发——如何判断应用是在手机上运行还是电脑上运行
查看>>
一位10年程序员生涯的总结与经验忠告分享
查看>>
点击照片上传照片一
查看>>
[SF] Symfony 组件 BrowserKit 原理
查看>>
关于修改linux hostname的问题,尤其是redhat 7修改hostname的方式
查看>>
nginx服务器的负载均衡和动静分离(未完)
查看>>
php 处理ftp常用操作与方法
查看>>
nutz 结合QueryResult,Record 自定义分页查询,不构建pojo 整合
查看>>
Mac下安装Pyqt
查看>>
m-orchastration system
查看>>