您的位置:首页 > Web前端 > JavaScript

jsp页面之间如何传递一个js对象

2016-09-02 14:02 736 查看
0


jsp页面之间如何传递一个js对象3

比如有两个jsp页面,a.jsp与b.jsp 

在a.jsp中有一个js对象sellerInfo,我想要这个sellerInfo传递到b.jsp 

使用 window.location = "b.jsp?data"+sellerInfo 的话 不可行 

JavaScriptJSPjQuery 
2012年1月10日 21:45



wsdydmw 

0 0 5


添加评论


关注(1)

7个答案按时间排序按投票排序

00把对象转换成字符串就可以了,常常所说的序列化,可以根据自己的思路来转化。2012年1月18日 16:39

jkxydp 
376 
0 0 6

添加评论
00页面传输有多种方式: 
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 
上面的兄弟已经叙述了,我这里就不再写了2012年1月15日 03:09

mymailzxj 
153 
0 0 3

添加评论
00说一个简单一点的办法,使用iframe父子窗口获取这个变量: 
1 保存下面代码为a.html 
Java代码  

<input type='button' value='获取b.html的sellerInfo变量值' onclick="getValue()">  
<iframe id='iframeb' src='b.html' style='display:none'>  
</iframe>  
  
<script>  
function getValue(){  
    alert(frames['iframeb'].sellerInfo)   
}     
</script>  

2 保存下面代码为b.html 
Java代码  

<script>  
var sellerInfo = 123;     
</script>  

3 运行a.html的“获取sellerInfo值”按钮。 

4 其实jsp与html也是一样的道理。2012年1月10日 23:04

housen1987 
354 
0 0 5

添加评论
00看实际情况 你可以在a.jsp跳转到b.jsp的时候,直接把sellerInfo 对象作为参数传到b.jsp中的某个方法,再在这个方法中使用。2012年1月10日 22:47

liuqing_2010_07 
1023 
0 0 5

添加评论
00上面这种方法有点绕。2012年1月10日 22:44

liuqing_2010_07 
1023 
0 0 5

添加评论
00Java代码  

<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

liuqing_2010_07 
1023 
0 0 5

添加评论
00参照这个问题:http://www.iteye.co0

jsp页面之间如何传递一个js对象3

比如有两个jsp页面,a.jsp与b.jsp 
在a.jsp中有一个js对象sellerInfo,我想要这个sellerInfo传递到b.jsp 
使用 window.location = "b.jsp?data"+sellerInfo 的话 不可行 
JavaScriptJSPjQuery 2012年1月10日 21:45

wsdydmw 

0 0 5


添加评论



关注(1)



7个答案按时间排序按投票排序

00

把对象转换成字符串就可以了,常常所说的序列化,可以根据自己的思路来转化。
2012年1月18日 16:39



jkxydp 
376 
0 0 6


添加评论

00

页面传输有多种方式: 
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 

上面的兄弟已经叙述了,我这里就不再写了
2012年1月15日 03:09



mymailzxj 
153 
0 0 3


添加评论

00

说一个简单一点的办法,使用iframe父子窗口获取这个变量: 

1 保存下面代码为a.html 

Java代码  


<input type='button' value='获取b.html的sellerInfo变量值' onclick="getValue()">  

<iframe id='iframeb' src='b.html' style='display:none'>  

</iframe>  

  

<script>  

function getValue(){  

    alert(frames['iframeb'].sellerInfo)   

}     

</script>  

2 保存下面代码为b.html 

Java代码  


<script>  

var sellerInfo = 123;     

</script>  

3 运行a.html的“获取sellerInfo值”按钮。 

4 其实jsp与html也是一样的道理。

2012年1月10日 23:04



housen1987 
354 
0 0 5


添加评论

00

看实际情况 你可以在a.jsp跳转到b.jsp的时候,直接把sellerInfo 对象作为参数传到b.jsp中的某个方法,再在这个方法中使用。
2012年1月10日 22:47



liuqing_2010_07 
1023 
0 0 5


添加评论

00

上面这种方法有点绕。
2012年1月10日 22:44



liuqing_2010_07 
1023 
0 0 5


添加评论

00

Java代码  


<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



liuqing_2010_07 
1023 
0 0 5


添加评论

00

参照这个问题:http://www.iteye.co
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: