还记得刚开始写代码的时候就遇到过这样的问题:从一个jsp页面跳转到另外一个jsp页面,中间不经过servlet,要在第二个jsp页面取到第一个页面传的参数。当时试过几种方法,都成功了。现在,好久没有这样用,居然都忘光了,所以记录下,方便自己以后查找。
jsp1页面一有一个url是这样的:
[javascript]?view plaincopy
- function?gotourl(type){??
- ????????????window.location.href="${ctxPath}/jsp/order/order_add.jsp?roomType="+type;??
- ??????????
- ????}??
jsp2页面而需要得到roomType这个参数。并且放入隐藏域<input type="hidden" name="roomType" id="roomType" value="">中
方法一:
[javascript]?view plaincopy
- <script?type="text/javascript">??
- ????<%??
- ????????String?type?=?(String)request.getParameter("roomType");??
- ????%>???
- ????document.getElementById("roomType").value=<%=type%>;??
- </script>??
方法二:
[html]?view plaincopy
- <input?type="hidden"?name="roomType"?id="roomType"?value="${param.roomType?}"/>??
方法二只有在引入了jstl标签的时候才有用。
方法三:如果这两个页面在DOM中有一定的联系的话,可以通过DOM对象来得到。比如jsp2在jsp1页面下面的一个iframe里面就可以这样得到:
[javascript]?view plaincopy
- <script?type="text/javascript">??
- ????var?a?=?window.parent.document.getElementById("roomType").value;??
- ????alert(a)??
- </script> ?