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