1

我有一个 Spring MVC 控制器,它根据特定条件被称为重定向。除了我希望将返回的 JSP 作为模式窗口之外,一切似乎都运行良好。关于如何实现这一目标的任何建议?
我希望 myModalWindow.jsp 作为模式窗口或弹出窗口返回。

@RequestMapping( value ="/abc/xyz.html")
public String getMyModal()
{
  //Do something here and return modal

  return "myModalWindow";
}

编辑 1:此调用是通过另一个控制器进行的,而该控制器又通过 Ajax 调用进行调用。

4

2 回答 2

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>
于 2013-03-26T16:11:45.703 回答
0

使用 Javascript 库从“/abc/xyz.html”加载模式。也许您需要更改该 jsp 的模板以仅包含模式的内容(避免、页眉、页脚和主要 html 结构)。

没有 html 标头、调用或任何允许您自己显示模式的东西,它通常是一个具有绝对定位的 div 和页面上的半不透明层,阻止所有点击它通常用作 web 中的模式设计

于 2013-03-26T16:02:47.820 回答