springMVC 几种页面跳转方式
今天主要写一下响应界面跳转的几种方式
1.在注解的方式中
1.1通过HttpServletResponse的API直接输出(不需要配置渲染器)
controller类的主要代码
@Controller
public class RequestController{
@RequestMapping("/resp")
public void handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception { resp.getWriter().println("hello HttpServletResponse"); }
web.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"> <servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
dispatcher-servlet.xml主要代码
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <!--作用是扫描指定包下所有的包含注解的类-->
<context:component-scan base-package="com.sawshaw.mvc"/> </beans>
1.2 使用HttpServletResponse 重定向到另一个视图(其他不变 )
@RequestMapping("/resp")
public void handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception { resp.sendRedirect("index.jsp"); }
}
1.3 使用HttpServletRequest 转发(默认访问/下的index.jsp页面 不受渲染器的影响)
@RequestMapping("/resp")
public void handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception {
req.setAttribute("message","it's forword ");
req.getRequestDispatcher("index.jsp").forward(req,resp);
}
1.4直接返回jsp页面的名称(无渲染器)
其他的配置不变
@RequestMapping("/nice")
public String hello1(){
//转发方式1
return "home.jsp";
//转发方式2
return "forward:index.jsp";
//重定向方式
return "redirect:index.jsp";
}
1.5当有渲染器指定
@RequestMapping("/nice")
public String hello1(){
//转发方式1
return "home";
//转发方式2
return "forward:index";
//重定向方式 hello指的是requsrmapping
return "redirect:hello";
}
2 使用view
2.1 使用modelandview
需要视图解析器 能指定跳转页面
public class HelloController implements Controller { @Override
public ModelAndView handleRequest(javax.servlet.http.HttpServletRequest httpServletRequest,
javax.servlet.http.HttpServletResponse httpServletResponse) throws Exception { ModelAndView mv = new ModelAndView();
//封装要显示到视图的数据
mv.addObject("msg","hello myfirst mvc");
//视图名
mv.setViewName("hello");
return mv; }
}
[servlet-name]-servlet.xml
<!--配置渲染器-->
<!--配置hellocontroller中页面的位置--> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<!--结果视图的前缀-->
<property name="prefix" value="/WEB-INF/jsp/"/>
<!--结果视图的后缀-->
<property name="suffix" value=".jsp"/>
</bean>
<bean name="/hello.do" class="com.jsu.mvc.HelloController"></bean>
2.2 使用modelview
不需要视图解析器 不能指定跳转页面
//通过modelmap方式
@RequestMapping("/modelmap")
public String modelHello(String name,ModelMap map){
map.addAttribute("name",name);
System.out.println(name); return "index.jsp";
}
结语
与君共勉!
springMVC 几种页面跳转方式的更多相关文章
- SpringMVC 04: SpringMVC中4种页面跳转方式
转发和重定向的页面跳转方式 页面跳转方式,本质上只有2种方式:转发 + 重定向 但在SpringMVC的具体实现上,转发可以细分为:普通的页面转发 + 经由action方法的页面转发 重定向可以细分为 ...
- 原创+转发:微信小程序navigator、redirectTo、switchTab几种页面跳转方式
什么是事件? 事件是视图层到逻辑层的通讯方式. 事件可以将用户的行为反馈到逻辑层进行处理. 详解(以常见的tap点击事情为例) 模板.wxml代码: <view id="tapTest ...
- 在jsp中常用的内置对象(5个)小总结和两种页面跳转方式(服务器端调转、客户端跳转)的区别
jsp中常用的几个内置对象: 一.request对象 主要作用: (1)获取请求页面的信息 比如:request.getParameter("参数名"); (2)获取客户端 ...
- mui几种页面跳转方式对比
1.初始化时创建子页面 mui.init({ subpages: [{ url: your - subpage - url, //子页面HTML地址,支持本地地址和网络地址 id: your - su ...
- JS控制的几种页面跳转方式和传值
第一种:<script language="javascript" type="text/javascript">window.location.h ...
- java servlet 几种页面跳转的方法及传值
java servlet 几种页面跳转的方法及传值 java web 页面之间传值有一下这几种方式1.form 表单传递参数2.url地址栏传递参数3.session4.cookie5.appli ...
- JSP页面跳转方式
JSP页面跳转方式 1.利用按钮+javascript进行跳转 <input type="button" name="button2" value=&qu ...
- 微信小程序 页面跳转方式
// 保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面. // 注意:调用 navigateTo 跳转时,调用该方法的页面会被加入堆栈,但是 redirectT ...
- 微信小程序从零开始开发步骤(六)4种页面跳转的方法
用法:用于页面跳转,相当于html里面的<a></a>标签. API教程:https://mp.weixin.qq.com/debug/wxadoc/dev/component ...
随机推荐
- mysql add foreign key 不成功
今天修改了mysql数据表的结构,然后添加外键index一直不成功: 查到问题在于,被外键的表,引擎不是Innodb,而是MyISAM. 修改好,以后保存报错: 解决办法,将数据库表里的数据全部删除, ...
- notepad++ 文本替换功能,解决excel批量修改数据库的数据操作
^ \(' 开始\t ',' 制表符$ '\) 行末 复制出来之后,使用文本替换功能,转换为SQL,添加到临时表中.然后多表关联修改. SELECT COUNT(*) FROM orderno; # ...
- [Bayesian] “我是bayesian我怕谁”系列 - Exact Inference
要整理这部分内容,一开始我是拒绝的.欣赏贝叶斯的人本就不多,这部分过后恐怕就要成为“从入门到放弃”系列. 但,这部分是基础,不管是Professor Daphne Koller,还是统计学习经典,都有 ...
- [OpenCV] Samples 15: Background Subtraction and Gaussian mixture models
不错的草稿.但进一步处理是必然的,也是难点所在. Extended: 固定摄像头,采用Gaussian mixture models对背景建模. OpenCV 中实现了两个版本的高斯混合背景/前景分割 ...
- 5 -- Hibernate的基本用法 --2 2 Hibernate的数据库操作
在所有的ORM框架中有一个非常重要的媒介 : PO(持久化对象:Persistent Object).持久化对象的作用是完成持久化操作,简单地说,通过该对象可对数据执行增.删.改的操作 ------ ...
- Jackson Gson Json.simple 比较
为公司做了小任务,需要用到Java Json库,Json库我几个月之前就用过,不过那时候是跟着项目来的,延续了项目的使用习惯直接用了jackson Json,而这次我觉得好好比较一下几个常见的Json ...
- iOS 图片加载速度极限优化—FastImageCache解析
FastImageCache是Path团队开发的一个开源库,用于提升图片的加载和渲染速度,让基于图片的列表滑动起来更顺畅,来看看它是怎么做的.优化点iOS从磁盘加载一张图片,使用UIImageVIew ...
- 【Ceisum】Max转GLTF
参考资料:https://blog.csdn.net/u011394175/article/details/78919281 1.在3DsMax中加入COLLADA插件:COLLADA-MAX-PC_ ...
- 【ArcGIS】ArcGIS Data Store配置
一.错误提示 Unable to configure the ArcGIS Data Store with the GIS Server. Please make sure that the GIS ...
- CentOS下安装高版本GCC
CentOS下安装高版本GCC 微信分享: 有时编译需要用到4.8以上版本的GCC,由于CentOS源没有提供高版本的GCC安装包,这时就不能通过安装包安装.通常的解决方案就是通过编译安装高版本的 ...