父页面函数如下:
function load(){
window.showModalDialog('ResultLoad.do',window, 'height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no')
}
'ResultLoad.do' 是到了后台可以在控制器里这样写
return new ModelAndView("/load.jsp",retMap); //---retMap实Map类型,把一些数据传到子页面
'ResultLoad.do'若直接写成jsp页面,
如:window.showModalDialog("index.jsp?type="+encodeURIComponent(encodeURIComponent(yy)),window, 'height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no')
此时父页面到子页面传值有些麻烦,
若父页面没有所需的数据
可以在js里,用的jquery的语法:
$(function(){ //相当于body里写onload=""
$.post("getValue.do",{},function(data){
$("#setValue").val(data);
});
});把所需数据取回来。然后在jsp页面后写?type="+encodeURIComponent(encodeURIComponent(yy)),
encodeURIComponent(encodeURIComponent用来处理乱码的
需要在子页面java.net.URLDecoder.decode(type,"UTF-8")解码。
-----子页面取父页面数值--------------
window.dialogArguments得到父页面句柄
window.dialogArguments.document.getElementById("lastValue").value得到父页面属性数值
window.dialogArguments.document.getElementById("result").innerHTML得到开始和结束标签之间的 HTML