我有一个Spring MVC控制器,它根据特定条件被调用为重定向。除了我希望返回的JSP作为模态窗口之外,一切似乎都工作得很好。有关如何实现这一目标的任何建议?
我希望myModalWindow.jsp作为模态窗口或弹出窗口返回。
@RequestMapping( value ="/abc/xyz.html")
public String getMyModal()
{
//Do something here and return modal
return "myModalWindow";
}
编辑1:此调用是通过另一个控制器进行的,而另一个控制器又通过Ajax调用调用。
答案 0 :(得分:2)
模态窗口= javascript ...你不能要求服务器在客户端的浏览器中打开弹出窗口。 除非您的上一页在新的浏览器窗口中打开“/ abc / xyz / html”,但无论您的控制器返回什么视图都会发生这种情况......而且这不是模态窗口。
对于真正的弹出窗口,您所能做的就是返回一个页面,该页面将在onLoad函数中打开您的模态窗口(jsp):
@RequestMapping( value ="/abc/xyz.html")
public String getMyModal()
{
//Do something here and return modal
return "myPageThatOpensAModalWindow";
}
...然后在myPageThatOpensAModalWindow.jsp:
<html>
<head>
<script>
function loadModalWindow() {
// open your window here
window.open("/myModalWindowURL", ...);
}
</script>
</head>
<body onload="loadModalWindow()">
<h1>Hello World!</h1>
</body>
</html>
答案 1 :(得分:0)
使用Javascript库从“/abc/xyz.html”加载模态。 也许您需要更改该jsp的模板以仅包含模态的内容(避免,页眉,页脚和主要html结构)。
没有html标题,调用或任何允许你自己显示模态的内容,它通常是一个具有绝对定位的div和一个半透明的图层,它阻止所有点击它通常用作的网页设计中的模态