window.open弹出窗口调用controller

前台图片调用js函数

<img src=‘${pageContext.request.contextPath}/FlatUI/img/link.png‘ id=‘report‘ alt=‘"+data[i].report+"‘ onclick=‘changeUrl(this,"+data[i].id+")‘ width=15px height=15px/>

js函数, 其中有一项重要处理, 在open窗口关闭的同时, 当前窗口刷新

function changeUrl(element,id){
				  //alert(element.alt);
				  //window.open("/trip/changeUrl?id="+id);
				 var winObj = window.open ("/portal/trip/changeUrl?id="+id+"&item="+element.id+"&value="+element.alt, "newwindow", "height=100, width=800, toolbar =no, menubar=no, scrollbars=no, resizable=no, location=no, status=no, top=50,left=1100");
				 var loop = setInterval(function() {
				        if(winObj.closed) {
				            clearInterval(loop);
				            //alert(‘closed‘);
				            window.location.reload();
				        }
				    }, 1);
			  }

controller端 /portal/trip/changeUrl

@RequestMapping("/changeUrl")
	public String changeUrl(Long id, String item, String value, HttpServletRequest request){
		request.setAttribute("id",id);
		request.setAttribute("item",item);
		request.setAttribute("value",value);
		//System.out.println(id);
		return "/tripController/tripURL";
	}

tripURL.jsp, 其中有个处理, 提交保存后, 关闭当前页面

<form action="/portal/trip/updateTrip" onsubmit="window.opener=null;window.close();">
	 	<font size="2"  color="#004779"> Change URL To:</font><br/>
	 	 <input type="hidden" name="id" id="id" value="${id }">
	 	 <input type="hidden" name="item" id="item" value="${item }">
	 	 <input type="text" name="value" id="value" value="${value }" style="color:#95a5a6; padding-left:5px;border-radius:5px;  width:700px; height:28px; vertical-align:middle;">
	 	 <input type="submit"   value="Save" style="color:#2c3e50; font-size:12px;font-weight:bold; border-radius:5px; vertical-align:middle;height:30px;  width:60px; "/>
    </form>

controller端 /portal/trip/updateTrip

@RequestMapping("/updateTrip")
	public String updateTrip(Long id,String item,String value,HttpServletResponse response){
		//String result = "{\"result\":\"success\"}";
		try {
			URLDecoder.decode(value,"utf-8");
		} catch (Exception e) {
			e.printStackTrace();
		}

		tripService.updateById(id,item,value);

		JSONObject data = new JSONObject();
		try {
			data.put("result", "success");
		} catch (Exception e) {
			System.out.println(e.getMessage());
		}

		PrintWriter out = null;
		response.setCharacterEncoding("UTF-8");
		response.setContentType("text/html; charset=UTF-8");
	    try {
	    	out=response.getWriter();
	        out.write(data.toString());
	        out.flush();
			out.close();
			return null;
	    } catch (IOException e) {
	        e.printStackTrace();
	    }
		return "redirect:/trip/getAllTrip";
	}
时间: 2024-10-19 02:59:06

window.open弹出窗口调用controller的相关文章

关于window.open弹出窗口被阻止的问题

原文:http://blog.csdn.net/fanfanjin/article/details/6858168 在web编程过程中,经常会遇到一些页面需要弹出窗口,但是在服务器端用window.open弹出的窗口会被IE阻止掉,showModalDialog弹出的窗口有时并不能满足我们需要,我们需要弹出新的浏览器窗口. 为什么我们编写的弹出窗口会被IE阻止呢,原来IE会自动判断弹出窗口的状态,它会阻止自动弹出的窗口,而通过我们用鼠标点击弹出的窗口,它是不会阻止的.这里就有一个问题,有人说:我

js window.open()弹出窗口参数说明及居中设置

window.open()可以弹出一个新的窗口,并且通过参数控制窗口的各项属性. 最基本的弹出窗口代码 window.open('httP://codeo.cn/'); window.open()各参数详解 示例代码: window.open('httP://codeo.cn/', 'newwindow', 'height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no, loc

window open 弹出窗口 和 同一窗口下打开新标签页

<!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <title></title> </head> <body> <a href="https://www.baidu.com/" class ="popup">

js范例学习——窗口/框架与导航条设计之弹出窗口设置

1.弹出窗口设置 在JS中,可以使用window对象实现对窗口的控制. window常用方法: alert();弹出一个警告对话框: confirm();在确认对话框中显示指定的字符串: prompt();弹出一个可输入对话框: close();关闭被引用的窗口: foucus();将被引用的窗口放在所有打开窗口的最前方,成为焦点窗口: open();打开新的窗口并且显示由URL或名字引用的文档,可以创建窗口的属性: resizeTo(x,y);设置窗口的大小: resizeBy(offsetx

弹出窗口

1.新建模式对话框(浏览器窗口在最顶层): 1 function DotVideo2() { 2 var id = '@ViewBag.TopicsID'; 3 //模式对话框 4 window.showModelessDialog('/ConferenceFront/DocVideoPlay?TopicID=' + id + '', 'newwindow', 'dialogheight:480px;dialogwidth:300px;dialogtop:10px;dialogleft:880p

Js弹出窗口代码,window.open方法

<html><script language=JavaScript> <!--function click() {if (event.button==2) {window.open('#','popwindows',"toolbar=no,menubar=no,width=200,height=200")}}document.onmousedown=click//--></script><head><meta http-

window.open() 某些情况会被浏览器阻止弹出窗口及解决办法

window.open() 的作用是创建一个新的浏览器窗口用来打开相关的资源,这是一个原生的 Javascript API 接口. 有关 window.open() 的基本使用可以参考 mozilla 提供的  API 文档:window.open . 大部分现代的浏览器(泛指 Chrome / Firefox / IE 10+ / Safari)都默认开启了阻止弹出窗口的策略,原因是 window.open 被广告商滥用,严重影响用户的使用.这个阻止弹出窗口的操作,并不是直接封杀 windw.

jsp网页弹出窗口的多种办法

http://blog.csdn.net/huangfoxjava/article/details/2973033 登录|注册     huangfoxjava的专栏 目录视图 摘要视图 订阅 关于jsp网页弹出窗口[很多种方法......] 分类: JSP2008-09-24 14:22 5799人阅读 评论(0) 收藏 举报 jspjavascript框架html脚本浏览器 各种弹出页面的设计 [1.普通的弹出窗口] 其实代码非常简单: <SCRIPT LANGUAGE=javascript

asp .NET弹出窗口 汇总(精华,麒麟创想)

asp .NET弹出窗口 汇总(精华,麒麟创想) 注://关闭,父窗口弹出对话框,子窗口直接关闭 this.Response.Write("<script language=javascript>window.close();</script>"); //关闭,父窗口和子窗口都不弹出对话框,直接关闭 this.Response.Write("<script>");this.Response.Write("{top.ope