2013-09-22 44 views
0

我的主要目标:当我点击链接时,应该打开一个新的浏览器窗口并显示整个日志文件的内容。并且该窗口不应该有地址栏和导航按钮(后退,前进)。如何在弹出窗口中单击链接时在新窗口中显示日志文件的内容mvc

在Spring-MVC项目中有没有办法做到这一点?
这里是我现在做:

  1. 当我点击链接时,控制器将与参数logName被调用。
  2. 现在控制器可以获取任何类型的日志文件的细节,如内容,路径等......我将所有这些细节设置为一个对象并发送回JSP。

在这里,我不知道如何打开一个新窗口并显示该窗口中的日志文件的内容。

请给我一个这个方法!
这对我来说会是非常有帮助的,如果你能与我分享一些例子...

+0

可能的复制问题http://stackoverflow.com/questions/18923224/how-to-pass-object-as-parameter-to-java-script -function-on-onclick和http://stackoverflow.com/questions/18905184/how-to-pass-url-as-parameter-in-spring-mvc – hekomobile

回答

1

Spring或JSP与它无关,强制用户的浏览器打开新标签中链接的唯一方法是使用客户端Javascript。 window.open()允许配置弹出隐藏某些界面元素(见the documentation所有选项)

您的代码看起来是这样的:

<input type="button" value="Show Log" onclick="showLog(logName)"> 

function showLog(logName) { 
    var url = "/path-to-your-controller.html?logName=" + logName; 
    window.open(url, "LogPage", "toolbar=no,location=no,menubar=no"); 
} 

不过,我不认为使用自定义浏览器弹出是一个好的解决方案;它出于某种原因从网上消失。使用AJAX获取原始数据并将其显示在JS弹出窗口中会更加优雅:它不会干扰用户的页面导航(您使用jQuery标记问题,您可以使用jQuery UI)。

更重要的是,如果所有浏览器都不支持window.open,那么我不会感到惊讶† - 如果您要面向更广泛的受众群体,请记住这一点。

似乎铬忽略location=no,例如

+0

非常感谢你的解决方案... – user2723039

相关问题