-
jsp页面之间如何传递一个js对象3
比如有两个jsp页面,a.jsp与b.jsp
在a.jsp中有一个js对象sellerInfo,我想要这个sellerInfo传递到b.jsp
使用 window.location = "b.jsp?data"+sellerInfo 的话 不可行
2012年1月10日 21:45src="http://www.iteye.com/iframe_ggbd/186" scrolling="no" width="468" height="60" frameborder="0">
7个答案按时间排序按投票排序
-
页面传输有多种方式:
1.url参数传递,适用于单个参数传递
父页面中
使用url带参数方式给字面传输参数test.jsp?para1=data1¶2=data2,参数使用&分割
子页面中
子页面中使用浏览器的getParameter获取url中传递过来的参数
<%
String data1=request.getParameter("para1");
String data2=request.getParameter("para2");
%>
2.弹出窗口传递,适用于对象传输
父页面中:var obj = new Object();//定义一个传递给子页面的对象
obj.para1=data1;
obj.para2=data2;
var retObj = null;//用于接收模态窗口返回对象;
retObj = window.showModalDialog("modal.htm",obj,"dialogWidth=200px;dialogHeight=100px");
if(retObj != null)
{
//retObj.retPara1为子页面返回给父页面的值,子页面中使用window.returnValue这个对象给父页面返回值;
if(retObj.retPara1 != null)
var retPara = retObj.retPara1;
}
子页面中:
接收父页面传输过来的对象,一定要判断是否为空奥。
if(window.dialogArguments != null)
var inputObj = g_Obj = window.dialogArguments;
var para1 = inputObj.para1;
var para2 = inputObj.para2;
子页面返回给父页面参数:
var returnObj = new Object();
returnObj.retPara1 = "returnValue";
window.returnValue = returnObj;//将返回对象付个window的对象,这样父页面就以获得子页面传回的对象了。
window.close();
3.使用window.open弹出页面,直接使用window.parent进行对象获取
a.html
<html>
<script language="javascript">
var obj = '1';
function openB()
{
window.open ("b.html") //写成一行
}
</script>
<body οnlοad="b.html">
</body>
</html>
b.html
<html>
<script language="javascript">
function showInputPara()
{
alert(window.parent.obj); }
</script>
<body οnlοad="showInputPara();">
</body>
</html>
需要注意的是这种方法只能获取a页面中的全局变量和对象,不能获取局部对象和变量
4.借助浏览器的Cookie
使用Cookie存在很多不稳定因素,这里不建议使用。给出部分代码
Cookie cookie = new Cookie("key", "value"); //往Cookie中设置键值对,键必须唯一,值可以是对象
cookie.setMaxAge(60); //设置60秒生存期,如果设置为负值的话,则为浏览器进程Cookie(内存中保存),关闭浏览器就失效。
Cookie[] cookies = request.getCookies(); //获取Cookie中的键值对数组
5.借助session
上面的兄弟已经叙述了,我这里就不再写了2012年1月15日 03:09
-
说一个简单一点的办法,使用iframe父子窗口获取这个变量:
1 保存下面代码为a.html- <input type='button' value='获取b.html的sellerInfo变量值' οnclick="getValue()">
- <iframe id='iframeb' src='b.html' style='display:none'>
- </iframe>
- <script>
- function getValue(){
- alert(frames['iframeb'].sellerInfo)
- }
- </script>
2 保存下面代码为b.html
- <script>
- var sellerInfo = 123;
- </script>
3 运行a.html的“获取sellerInfo值”按钮。
4 其实jsp与html也是一样的道理。2012年1月10日 23:04
-
看实际情况 你可以在a.jsp跳转到b.jsp的时候,直接把sellerInfo 对象作为参数传到b.jsp中的某个方法,再在这个方法中使用。
2012年1月10日 22:47
-
- <script>
- var rowdata=$('#cartTable').getRowData(ids[0]);
- function setRowData(rowdata)
- {
- <%
- session.setAttribute("seller_id", rowdata.seller_id);
- session.setAttribute("seller_name", rowdata.seller_name);
- session.setAttribute("seller_person", rowdata.seller_person);
- session.setAttribute("seller_phone", rowdata.seller_phone);
- %>
- }
- </script>
思路:
1.在a.jsp 中把sellerInfo对象转化为java对象,放到session
2.在b.jsp中取出这个对象。再去用这个对象。2012年1月10日 22:43
-
参照这个问题:http://www.iteye.co
-
jsp页面之间如何传递一个js对象3
比如有两个jsp页面,a.jsp与b.jsp
在a.jsp中有一个js对象sellerInfo,我想要这个sellerInfo传递到b.jsp
使用 window.location = "b.jsp?data"+sellerInfo 的话 不可行
2012年1月10日 21:45src="http://www.iteye.com/iframe_ggbd/186" scrolling="no" width="468" height="60" frameborder="0">
7个答案按时间排序按投票排序
-
页面传输有多种方式:
1.url参数传递,适用于单个参数传递
父页面中
使用url带参数方式给字面传输参数test.jsp?para1=data1¶2=data2,参数使用&分割
子页面中
子页面中使用浏览器的getParameter获取url中传递过来的参数
<%
String data1=request.getParameter("para1");
String data2=request.getParameter("para2");
%>
2.弹出窗口传递,适用于对象传输
父页面中:var obj = new Object();//定义一个传递给子页面的对象
obj.para1=data1;
obj.para2=data2;
var retObj = null;//用于接收模态窗口返回对象;
retObj = window.showModalDialog("modal.htm",obj,"dialogWidth=200px;dialogHeight=100px");
if(retObj != null)
{
//retObj.retPara1为子页面返回给父页面的值,子页面中使用window.returnValue这个对象给父页面返回值;
if(retObj.retPara1 != null)
var retPara = retObj.retPara1;
}
子页面中:
接收父页面传输过来的对象,一定要判断是否为空奥。
if(window.dialogArguments != null)
var inputObj = g_Obj = window.dialogArguments;
var para1 = inputObj.para1;
var para2 = inputObj.para2;
子页面返回给父页面参数:
var returnObj = new Object();
returnObj.retPara1 = "returnValue";
window.returnValue = returnObj;//将返回对象付个window的对象,这样父页面就以获得子页面传回的对象了。
window.close();
3.使用window.open弹出页面,直接使用window.parent进行对象获取
a.html
<html>
<script language="javascript">
var obj = '1';
function openB()
{
window.open ("b.html") //写成一行
}
</script>
<body οnlοad="b.html">
</body>
</html>
b.html
<html>
<script language="javascript">
function showInputPara()
{
alert(window.parent.obj); }
</script>
<body οnlοad="showInputPara();">
</body>
</html>
需要注意的是这种方法只能获取a页面中的全局变量和对象,不能获取局部对象和变量
4.借助浏览器的Cookie
使用Cookie存在很多不稳定因素,这里不建议使用。给出部分代码
Cookie cookie = new Cookie("key", "value"); //往Cookie中设置键值对,键必须唯一,值可以是对象
cookie.setMaxAge(60); //设置60秒生存期,如果设置为负值的话,则为浏览器进程Cookie(内存中保存),关闭浏览器就失效。
Cookie[] cookies = request.getCookies(); //获取Cookie中的键值对数组
5.借助session
上面的兄弟已经叙述了,我这里就不再写了2012年1月15日 03:09
-
说一个简单一点的办法,使用iframe父子窗口获取这个变量:
1 保存下面代码为a.html
- <input type='button' value='获取b.html的sellerInfo变量值' οnclick="getValue()">
- <iframe id='iframeb' src='b.html' style='display:none'>
- </iframe>
- <script>
- function getValue(){
- alert(frames['iframeb'].sellerInfo)
- }
- </script>
2 保存下面代码为b.html
- <script>
- var sellerInfo = 123;
- </script>
3 运行a.html的“获取sellerInfo值”按钮。
4 其实jsp与html也是一样的道理。2012年1月10日 23:04
-
看实际情况 你可以在a.jsp跳转到b.jsp的时候,直接把sellerInfo 对象作为参数传到b.jsp中的某个方法,再在这个方法中使用。
2012年1月10日 22:47
-
- <script>
- var rowdata=$('#cartTable').getRowData(ids[0]);
- function setRowData(rowdata)
- {
- <%
- session.setAttribute("seller_id", rowdata.seller_id);
- session.setAttribute("seller_name", rowdata.seller_name);
- session.setAttribute("seller_person", rowdata.seller_person);
- session.setAttribute("seller_phone", rowdata.seller_phone);
- %>
- }
- </script>
思路:
1.在a.jsp 中把sellerInfo对象转化为java对象,放到session
2.在b.jsp中取出这个对象。再去用这个对象。2012年1月10日 22:43
-
参照这个问题:http://www.iteye.co