0

我需要一些帮助。我正在将 Struts 应用程序转换为 Grails。

我正在尝试转换一个特定的操作。

  1. jsp 中有一个表单要求用户从下拉列表中选择一个客户,然后用户单击两个按钮之一。
  2. 当用户单击“查看报告”按钮时,onclick 事件调用一个 JavaScript 函数,该函数在 STRUTS 操作类上发出 window.open,传递选定的客户和选定的操作。
  3. 在动作类中,http 请求设置了一些属性(request.setAttribute (..)),并且转发到外部应用程序。应用程序使用其中设置的属性进行登录。这是作为 POST 完成的。

我的问题是我不太确定如何使用 Grails 框架来连接这个流程。只要用户选择客户,单击操作提交按钮,从参数中读取所选客户,将我的属性添加到“请求”中,我就能够做到这一点,然后......我被卡住了。

如何打开一个新窗口?(尝试使用 Struts 完成的 javascript 方式)。

此外,我还可以向控制器中的外部站点发出重定向,但是重定向是作为 GET 而不是 POST 完成的,并且重定向是在同一个窗口中完成的。任何帮助解决这个问题都会很棒。谢谢

4

2 回答 2

2

您不能使用 POST 从服务器重定向用户。

我可以看到一些可能的解决方案:

1. 如果你不需要通过你的服务器来验证或请求一些数据,你可以使用这个:

<form action="http://someotherserver.com" method="post">

2. 创建一个控制器,重定向到您自己站点中的页面,并在此页面中进行处理,接收参数,然后使用 ajax 将用户重定向到另一个域。

于 2013-08-04T17:23:47.997 回答
1

在 Grails 中,我使用了带有“base”属性的 createLink 来执行此操作。

<g:createLink base="${params.dynamicURL}">Link</g:createLink>

我认为这样的事情会起作用,但你可以在这里研究它:http: //grails.org/doc/latest/ref/Tags/createLink.html

于 2013-08-05T19:42:09.603 回答