`
你不认识的休道人
  • 浏览: 10500 次
社区版块
存档分类
最新评论

document.location的一点思考

 
阅读更多

今天练习jstl标签的时候发现一个有意思的问题:

 

题目要求:tag1.jsp中往request中绑定一个list, tag2.jsp中读取list输出

 

我的代码:   

 

tag1.jsp中的js函数

 

             function toNextPage(){
                    <%
                           List<String> list = new ArrayList<String>();
                           list.add("first");
                           list.add("second");
                           list.add("third");
                           request.setAttribute("list", list);
                           request.getRequestDispatcher("tag2.jsp").forward(request, response);
                    %>
                    //document.location = "tag2.jsp";
             }

 

 

     tag2.jsp中的代码:

 

       <c:forEach var="i" begin="1" end="5" step="2">
              ${i }<br>
       </c:forEach>
       <c:forEach items="${requestScope.list }" var="str">
              ${ str}<br>
       </c:forEach>
       <%
              List<String> list = (List)request.getAttribute("list");
              for(String s : list){
       %>
                     <%=s %><br>
       <%
              }
        %>

 

 

运行结果:

       tag1.jsp中使用document.location方式跳转的话, tag2.jsp中不论是jstl方式还是java方式都不会读出任何数据; 如果使用request.getRequestDispatcher("tag2.jsp").forward(request, response);方式转发的话, tag2.jsp中不论是jstl还是java都能读取到正确的数据.

 

由此猜想: document.loaction=”” 这种方式跳转的话, 是否就不是一次请求了呢? 所以在request中绑定的数据在tag2.jsp中读取不到

 

 

在百度上搜了一下, 没有得到相关的结论, 所以把思考写出来, 奇文共欣赏, 疑义相与析. 希望各路大神能够不吝教导~~~给我释疑解惑一下

 

分享到:
评论

相关推荐

    window.location.href页面跳转的用法(区别于redirect)

    window.opener.document.location.reload(); ``` #### 总结 通过本文的介绍,我们可以看到`window.location.href`不仅能够实现简单的页面跳转,还能灵活地应用于复杂框架结构中的页面跳转及刷新。相比`Response....

    火狐、谷歌、IE关于document.body.scrollTop和document.documentElement.scrollTop 以及值为0的问题

    在探讨“火狐、谷歌、IE关于`document.body.scrollTop`和`document.documentElement.scrollTop`以及值为0的问题”这一主题时,我们深入分析了浏览器在处理页面滚动位置时的不同行为,尤其是当滚动位置值始终为0时的...

    JavaScript 中document.URL 和 [removed].href 的区别

    在探讨JavaScript中`document.URL`与`window.location.href`之间的差异之前,我们首先需要了解`document`和`window`这两个核心对象的基本概念及其作用。这不仅有助于理解它们各自属性的具体含义,还能帮助开发者在...

    JS中关于document.all的详解

    ### JS中关于`document.all`的详解 #### 一、`document.all`简介 `document.all` 是一个只读属性,它返回一个包含文档中所有元素的类数组对象。这个特性最初是为 Internet Explorer 设计的,并且在早期版本的 IE 中...

    JS 中document.URL 和 windows.location.href 的区别

    document 表示的是一个文档对象,windows 表示一个窗口对象。... 发现,这两个的值不一样, document.URL : //www.jb51.net/ windows.location.href ://www.jb51.net/#server 所以,如果要用 fragment 进行

    document.body.scrollTop用法

    ### document.body.scrollTop 用法详解 #### 一、概述 `document.body.scrollTop` 是一个用于获取或设置浏览器中页面垂直滚动距离的属性。这个属性在前端开发中非常实用,尤其是在处理页面滚动效果、动态布局调整等...

    document.all[]详解

    ### Document.all[] 详解 #### 一、基本概念与历史背景 `document.all[]` 是一个在 Internet Explorer 4 开始引入的特性,它提供了一种获取文档中所有元素的方法。这一特性允许开发者通过索引的方式访问页面上的...

    各浏览器对document.getElementById等方法的实现差异解析

    本文主要讨论的是`document.getElementById`这个常用方法在不同浏览器之间的实现区别,以及如何处理这些差异。 `document.getElementById`是一个JavaScript内置方法,用于根据指定的ID从文档中获取元素。在大部分...

    获取当前网页document.url location.href区别总结

    在JavaScript中,`document.URL` 和 `window.location.href` 都是用来获取当前页面URL的属性,但它们之间存在微妙的区别。这两个属性虽然在大多数情况下返回的值相同,但在特定的场景下,它们的表现可能会有所不同。...

    javascript里的document.all用法

    在JavaScript中,`document.all`属性是Internet Explorer的专有特性,它允许脚本访问文档中的所有元素。这个属性返回一个对象集合,包含了文档中所有的HTML标签,这为开发者提供了强大的DOM操作能力。 ### `...

    JAVASCRIPT-DOCUMENT方法大全.pdf

    12. `document.location.replace(URL)`: 打开新URL,替换当前页面,且不记录在历史记录中。 **selection子对象和images集合** `document.selection`是用于处理用户选择的文本,但在现代浏览器中已被`window....

    jsp 刷新父页面

    window.parent.dialogArguments.document.execCommand('Refresh'); 或 Response.Write("&lt;script&gt;window.location.href = window.location.href&lt;/script&gt;"); 刷新本页Response.Write("&lt;script&gt;window.location....

    javascript 的Document属性和方法集合

    - `document.location.reload()`, `document.location.reload(URL)`, `document.location.assign(URL)`, `document.location.replace(URL)`: 分别用于刷新页面、加载新页面和替换当前页面。 5. **selection对象** ...

    JS:document.all的用法

    然而,需要注意的是,`document.all`在标准浏览器中可能不受支持,因此在实际项目中,更推荐使用`document.getElementById`、`document.getElementsByName`等标准方法来访问DOM元素,以确保代码的兼容性和可维护性。

    document.getElementsByName()的用法

    ### document.getElementsByName() 的用法详解 在Web开发中,JavaScript提供了多种方法来选取HTML文档中的元素,以便开发者能够实现对页面动态操作的需求。其中`document.getElementsByName()`与`document....

    深入探讨:JavaScript中的`document.head`与`document.body`属性

    本文将详细探讨document.head与document.body的区别、它们的用途以及如何在实际开发中正确使用它们。 document.head和document.body是JavaScript中用于访问和操作HTML文档头部和主体的重要属性。它们在Web开发中的...

    document对象总结

    - **document.location.replace(URL)**: 替换当前历史记录项,跳转到指定的URL地址。 #### Selection对象 `document.selection`提供了操作用户在页面中选定文本的方法,但其可用性取决于浏览器类型和版本。 #### ...

    document.all Firefox不支持

    现代浏览器如Firefox、Chrome、Safari以及Edge等都遵循W3C的标准,推荐使用`document.getElementById`、`document.getElementsByTagName`、`document.querySelector`和`document.querySelectorAll`等方法来选取和...

    win7中vfp软件安装后出现 0: 找不到MSXML2.DOMDOCUMENT.4.0类定义

    win7中vfp软件安装后出现 0: 找不到MSXML2.DOMDOCUMENT.4.0类定义,此中是Dll文件下载,直接放在c:\windows\system目录下即可!msxml4.cab

Global site tag (gtag.js) - Google Analytics