今天练习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.opener.document.location.reload(); ``` #### 总结 通过本文的介绍,我们可以看到`window.location.href`不仅能够实现简单的页面跳转,还能灵活地应用于复杂框架结构中的页面跳转及刷新。相比`Response....
在探讨“火狐、谷歌、IE关于`document.body.scrollTop`和`document.documentElement.scrollTop`以及值为0的问题”这一主题时,我们深入分析了浏览器在处理页面滚动位置时的不同行为,尤其是当滚动位置值始终为0时的...
在探讨JavaScript中`document.URL`与`window.location.href`之间的差异之前,我们首先需要了解`document`和`window`这两个核心对象的基本概念及其作用。这不仅有助于理解它们各自属性的具体含义,还能帮助开发者在...
### JS中关于`document.all`的详解 #### 一、`document.all`简介 `document.all` 是一个只读属性,它返回一个包含文档中所有元素的类数组对象。这个特性最初是为 Internet Explorer 设计的,并且在早期版本的 IE 中...
document 表示的是一个文档对象,windows 表示一个窗口对象。... 发现,这两个的值不一样, document.URL : //www.jb51.net/ windows.location.href ://www.jb51.net/#server 所以,如果要用 fragment 进行
### document.body.scrollTop 用法详解 #### 一、概述 `document.body.scrollTop` 是一个用于获取或设置浏览器中页面垂直滚动距离的属性。这个属性在前端开发中非常实用,尤其是在处理页面滚动效果、动态布局调整等...
### Document.all[] 详解 #### 一、基本概念与历史背景 `document.all[]` 是一个在 Internet Explorer 4 开始引入的特性,它提供了一种获取文档中所有元素的方法。这一特性允许开发者通过索引的方式访问页面上的...
本文主要讨论的是`document.getElementById`这个常用方法在不同浏览器之间的实现区别,以及如何处理这些差异。 `document.getElementById`是一个JavaScript内置方法,用于根据指定的ID从文档中获取元素。在大部分...
在JavaScript中,`document.URL` 和 `window.location.href` 都是用来获取当前页面URL的属性,但它们之间存在微妙的区别。这两个属性虽然在大多数情况下返回的值相同,但在特定的场景下,它们的表现可能会有所不同。...
在JavaScript中,`document.all`属性是Internet Explorer的专有特性,它允许脚本访问文档中的所有元素。这个属性返回一个对象集合,包含了文档中所有的HTML标签,这为开发者提供了强大的DOM操作能力。 ### `...
12. `document.location.replace(URL)`: 打开新URL,替换当前页面,且不记录在历史记录中。 **selection子对象和images集合** `document.selection`是用于处理用户选择的文本,但在现代浏览器中已被`window....
window.parent.dialogArguments.document.execCommand('Refresh'); 或 Response.Write("<script>window.location.href = window.location.href</script>"); 刷新本页Response.Write("<script>window.location....
- `document.location.reload()`, `document.location.reload(URL)`, `document.location.assign(URL)`, `document.location.replace(URL)`: 分别用于刷新页面、加载新页面和替换当前页面。 5. **selection对象** ...
然而,需要注意的是,`document.all`在标准浏览器中可能不受支持,因此在实际项目中,更推荐使用`document.getElementById`、`document.getElementsByName`等标准方法来访问DOM元素,以确保代码的兼容性和可维护性。
### document.getElementsByName() 的用法详解 在Web开发中,JavaScript提供了多种方法来选取HTML文档中的元素,以便开发者能够实现对页面动态操作的需求。其中`document.getElementsByName()`与`document....
本文将详细探讨document.head与document.body的区别、它们的用途以及如何在实际开发中正确使用它们。 document.head和document.body是JavaScript中用于访问和操作HTML文档头部和主体的重要属性。它们在Web开发中的...
- **document.location.replace(URL)**: 替换当前历史记录项,跳转到指定的URL地址。 #### Selection对象 `document.selection`提供了操作用户在页面中选定文本的方法,但其可用性取决于浏览器类型和版本。 #### ...
现代浏览器如Firefox、Chrome、Safari以及Edge等都遵循W3C的标准,推荐使用`document.getElementById`、`document.getElementsByTagName`、`document.querySelector`和`document.querySelectorAll`等方法来选取和...
win7中vfp软件安装后出现 0: 找不到MSXML2.DOMDOCUMENT.4.0类定义,此中是Dll文件下载,直接放在c:\windows\system目录下即可!msxml4.cab