页面之间怎么传递一个对象
1个回答
2017-12-22 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517196
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
页面传输有多种方式:
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 onload="b.html">
</body>
</html>
b.html
<html>
<script language="javascript">
function showInputPara()
{
alert(window.parent.obj); }
</script>
<body onload="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
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 onload="b.html">
</body>
</html>
b.html
<html>
<script language="javascript">
function showInputPara()
{
alert(window.parent.obj); }
</script>
<body onload="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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询