首页 > 其他分享 >跳转(Forward)和页面重定向(Redirect)的区别

跳转(Forward)和页面重定向(Redirect)的区别

时间:2023-11-08 15:37:42浏览次数:36  
标签:Redirect JSF 浏览器 start 跳转 Forward xhtml page1 页面


Redirect


1. 用户浏览器向 http://localhost:8080/demo/start.xhtml 发送 GET 请求。


2. JSF收到请求,返回 start.xhtml 页面。


3. 用户点击页面中的按钮。


4. JSF收到请求, 向浏览器发送 Redirect 指令(3XX的HTTP状态值)。


5. 浏览器收到指令, 发送另一个 GET 到 http://localhost:8080/demo/page1.xhtml。


6.JSF返回page1.xhtml。


7. 浏览器显示page1.xhtml。这时地址栏里显示的是page1.xhtml。



Forward



1. 用户浏览器向 http://localhost:8080/demo/start.xhtml 发送 GET 请求。



2. JSF收到请求,返回 start.xhtml 页面。



3. 用户点击页面中的按钮。



4. JSF收到请求, 直接渲染page1.xhtml页面并返回给浏览器



5. 浏览器显示 page1.xhtml。这时候地址栏里显示的还是start.xhtml









由此可看出,重定向要比跳转多发送一个请求,所以相对要慢一些。JSF默认全部采用 Forward的方式跳转页面。如果想要重定向页面,可以在导航中添加 <redirect />,或者在 h:commandButton的action属性后添加 "faces-redirect=true":



    1. <h:form>  
    2. <h:commandButton action="page1?faces-redirect=true" value="Page1" />  
    3. </h:form>  
    4.



    标签:Redirect,JSF,浏览器,start,跳转,Forward,xhtml,page1,页面
    From: https://blog.51cto.com/u_809530/8255308

    相关文章

    • nginx配置http跳转https的几种要求和方式记录
      以nginx-1.23.2测试 (80被占用了,测试换成81端口)要求一:nginx端口有443,81,即能访问http访问81,也能https访问。nginx配置如下:server{listen81;listen443ssl;server_namexx.com.cn192.168.3.1127.0.0.1;ssl......
    • 项目中难点-A页面中填写查询条件并查询出表格数据后,点击详情跳转页面B,B页面返回A页面
      页面缓存keep-alive1、在路由routes中配置需要进行缓存的页面keepAlive:truemeta:{keepAlive:true,title:"页面名称",}如图: 2、在router-view显示的入口页面APP.vue中,对需要的页面进行缓存<template><divid="app"><router-viewv-if="!$route.meta.kee......
    • 超链接-跳转页面,跳转到文件,锚点
      一、<ahref="链接路径">链接名字</a>一般是默认效果,在当前页面中打开二、在当前页面打开页面:target="_self"<ahref="链接路径" target="_self">链接名字</a>三、在新标签打开页面:target="_blank"<ahref="链接路径"target="......
    • 前端的路由如何实现跳转?
       下面的路由配置-访问路径为: http://localhost:9999/#/ok/productData/tpProductDatajs配置路由跳转consttpRouter={path:'/ok',component:Layout,name:'ok',meta:{},children:[{path:'indexPricing�......
    • 轻松理解 Transformers (3): Feed-Forward Layer部分
      编者按:随着人工智能技术的不断发展Transformer架构已经成为了当今最为热门的话题之一。前馈层作为Transformer架构中的重要组成部分,其作用和特点备受关注。本文通过浅显易懂的语言和生活中的例子,帮助读者逐步理解Transformers中的前馈层。本文是Transformers系列的第三篇。作者的观......
    • JavaScript 其他循环语句和跳转语句
      一、while语句While循环会在指定条件为真时循环执行代码块。While循环,先进行条件判断,再执行循环体的代码while(条件表达式){循环体}如果条件不满足,则不会执行循环体,一次都不会案例:vari=1;while(i<=10){console.log(i);i++;}二、do.....while循环do/while......
    • uniapp做app跳转小程序支付功能
      1.app里面代码app向小程序路径传参的时候,如果太长或者是里面有特殊符号建议先使用编码然后再小程序端解码实现传送(编码代码如下)encodeURIComponent(JSON.stringify(params))//编码JSON.parse(decodeURIComponent(option.params))//解码  plus.share.getServices((s)=>......
    • 小程序互相跳转
      wx.navigateToMiniProgram({ appId:'目标小程序appid', path:'目标小程序页面路径', //develop开发版;trial体验版;release正式版 envVersion:'release', success(res){ //打开成功 console.log("跳转小程序成功!",res); } ......
    • Springboot使用return跳转到html页面只是返回字符串,不跳转问题的解决
      问题描述我在使用SpringBoot进行页面跳转时,发现其只是返回相应的字符串,并不会出现页面跳转:问题解决不要在Controller层加@Responsebody注解,不然就只会默认是返回字符串,而不会返回页面;......
    • React Native在非组件的地方使用页面跳转(interceptors拦截器处跳转页面)
      官方文档:https://reactnavigation.org/docs/navigating-without-navigation-prop/修改APP.jsimport{NavigationContainer}from'@react-navigation/native';import{navigationRef}from'./RootNavigation';exportdefaultfunctionApp(){r......