如何将jsp中js里的变量传到另一个jsp中

JavaScript017

如何将jsp中js里的变量传到另一个jsp中,第1张

一个页面像另一个页面提交变量最常见的有两种情况:

1、GET方式中,将变量附加到url中,例如http://zhidao.baidu.com/question/267751952.html?entry=qb_hangjia_quality&ishq=1

这个链接中变量entry和ishq的值就传递给了页面267751952.html。

2、POST方式的话可以在表单中提交,设置一个隐藏域,用js把变量值赋值给隐藏域,提交的时候就传递给新页面。

当然也有以下其他方法,传递给本页面的变量值储存在cookie或session中,当访问另一个页面的时候也可以获取这些值。

涉及到页面通讯

如果是jsp是当前页面的子页面,可以通过parent对象来访问父级变量/方法,这样的情况可以在父级用全局变量存放这个值,比如temp,然后jsp中通过parent.temp来访问变量

如果是跨页面的话,如果是在同一个域下,可以通过localStorage,sessionStorage,cookie等本地化方法将变量存放进去,然后从jsp中读出来

如果跨域的话,可以通过get/post传值 例如:sample.jsp?tel=123

然后jsp中写服务器部分代码<% request.getParameter("tel") %>取出该值,可以将此值拼在js中,例如:

var tel="<%=request.getParameter("tel")%>"

此方法只适用于tel已经产生值之后打开目标jsp

javascript与jsp之间不存在“传值”的说法。

像@451177500 说的那种,不是传值的概念,而是jsp解析器直接把jsp中的变量输出文本,这段文本在浏览器(客户端)才被认作是js的一部分。而在解析的过程中,jsp没有能力来认定那部分是js。

所以,你在使用这种方式时,要看清程序执行的上下文(context)。

使用Javascript的ajax方式提交数据时,你也无需考虑接收数据的是jsp还是servlet,亦或是asp、php,因为这种提交方式只关注http是post的还是get的。

不要前后端不分。考虑问题时,若将其柔和在一起,会让你很累。