需求的情景如下:

1:做新增或修改等操作的时候打开一个新的浏览器窗口(使用window.open(参数等)方法)

2:在新增或修改等的页面上有返回按钮、重置按钮、保存按钮,对于返回就直接关闭此窗口(使用window.close()方法)重置就不说啦!对于保存的操作要保存好对应的信息,调用父窗口页面的方法,关闭子窗口页面

我们采用的方法的关键点如下句代码(写在ACTION类中的对应的方法中,通常放在最后边):

renderHtml(getResponse(), "<script language=JavaScript>"+"window.opener.searchMethod();window.close();"+"</script>");

注:searchMethod()是父窗口页面的方法,renderHtml()/getResponse()方法如下面所示

/**
* 直接输出纯HTML
*/
public void renderHtml(HttpServletResponse response, String text) {
PrintWriter out = null;
try {
out = response.getWriter();
response.setContentType("text/html;charset=UTF-8");
out.print(text);
} catch (IOException e) {

} finally {
if (out != null) {
out.flush();
out.close();
out = null;
}
}
}

/**
* 获取response
*
* @return
*/
public HttpServletResponse getResponse() {
return ServletActionContext.getResponse();
}

参考如下:

1:JS刷新父窗口的几种方法

http://www.cnblogs.com/top5/archive/2010/10/18/1854666.html

2:JS 在open打开的窗口中调用父页面JS方法

http://jxdwuao.iteye.com/blog/793234

JS 在open打开的子窗口页面中调用父窗口页面的JS方法的更多相关文章

  1. 在子jsp页面中调用父jsp中的function或父jsp调用子页面中的function

    项目场景: A.jsp中有一个window,window里嵌入了一个<iframe>,通过<iframe>引入了另一个页面B.jsp.在B.jsp中的一个function中需要 ...

  2. 调用上一个页面的js方法

    点击商品分类,弹出下框 点击确定,将选中的类别的name和唯一的code返回到上个页面 function save(){ var ids = getIdSelections(); jp.get(&qu ...

  3. js调用父窗口中的方法

    window.open调用父窗口中的方法 回调函数: function fun9(ex){ alert(ex); } 调用语句: window.open("RoomSelecter.htm? ...

  4. 项目总结03:window.open()方法用于子窗口数据回调至父窗口,即子窗口操作父窗口

    window.open()方法用于子窗口数据回调至父窗口,即子窗口操作父窗口 项目中经常遇到一个业务逻辑:在A窗口中打开B窗口,在B窗口中操作完以后关闭B窗口,同时自动刷新A窗口(或局部更新A窗口)( ...

  5. iframe里面的页面调用父窗口,左右窗口js函数的方法

      iframe里面的页面调用父窗口,左右窗口js函数的方法 实现iframe内部页面直接调用该iframe所属父窗口自定义函数的方法. 比如有A窗口,A内有个IFRAME B,B里面的装载的是C页面 ...

  6. HTML中IFrame父窗口与子窗口相互操作

    一.Iframe篇 //&&&&&&&&&&&&&&&&&&am ...

  7. JavaScript子窗口调用父窗口变量和函数的方法

    在做一个父窗口开启子窗口并且在子窗口关闭的时候调用父窗口的方法,达到局部刷新的目的. 父窗口: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 ...

  8. FineUI小技巧(5)向子窗口传值,向父窗口传值

    前言 FineUI中经常会用到启用IFrame的Window控件,这样有助于从物理上进行代码解耦和.IFrame的引入就会涉及传值问题,如何在父窗口和子窗口之间相互传值呢? 向子窗口传值 向子窗口传值 ...

  9. jquery 获取父窗口的元素、父窗口、子窗口

    一.获取父窗口元素: $("#父窗口元素ID",window.parent.document):对应javascript版本为window.parent.document.getE ...

随机推荐

  1. C#继承的用法

    using System; namespace 继承 { public class cat { private string _name = null; private int _age = 0; p ...

  2. OAF_EO系列3 - Initialize详解和实现(案例)

    2014-06-14 Created By BaoXinjian

  3. StringIO 模块用于在内存缓冲区中读写数据

    模块是用类编写的,只有一个StringIO类,所以它的可用方法都在类中.此类中的大部分函数都与对文件的操作方法类似. 例: #coding=gbk import StringIO s=StringIO ...

  4. Python基础05 缩进和选择

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 缩进 Python最具特色的是用缩进来标明成块的代码.我下面以if选择结构来举例. ...

  5. U盘安装Linux CentOS 6.5 64位操作系统(来自互联网)

    从centOS6.5开始直接把iso文件写入u盘就行了. 方法1:windows平台:1.用UltraISO打开iso(如:CentOS-6.5-x86_64-bin-DVD1.iso)2.然后点“启 ...

  6. 90、 Android UI模板设计

    第一步:自定义xml属性 新建一个android项目,在values文件夹中新建一个atts.xml的文件,在这个xml文件中声明我们一会在使用自定义控件时候需要指明的属性.atts.xml < ...

  7. .NET中使用Memcached的相关资源整理(转)

    Memcached官方站点:http://www.danga.com/memcached/ Memcached Win32 1.2.6下载:http://code.jellycan.com/memca ...

  8. [ActionScript] AS3代码实现渐变遮罩效果

    import flash.display.Shape; import flash.display.GradientType; import flash.geom.Matrix; import flas ...

  9. 反人类的MyEclipse之-MyEclipse设置Console字体大小

    Windows-->Preference-->General-->Apperence-->Colors and Fonts --> Debug -->Console ...

  10. elasticsearch开启脚本及使用

    开启script: Scripting settingsedit The script.disable_dynamic node setting has been replaced by fine-g ...