Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Grails 从GSP打开新窗口并转发到外部URL_Grails_Struts - Fatal编程技术网

Grails 从GSP打开新窗口并转发到外部URL

Grails 从GSP打开新窗口并转发到外部URL,grails,struts,Grails,Struts,我需要一些帮助。我正在将Struts应用程序转换为Grails 我正在尝试转换一个特定的操作 jsp中有一个表单,要求用户从下拉列表中选择客户,然后用户单击两个按钮之一 当用户单击“查看报告”按钮时,onclick事件调用一个javascript函数,该函数在STRUTS操作类上发出window.open,传递所选客户和所选操作 在action类中,http请求设置了一些属性(request.setAttribute(..),并向外部应用程序执行转发。应用程序用于登录的属性集。这是作为一个职位

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

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

  • jsp中有一个表单,要求用户从下拉列表中选择客户,然后用户单击两个按钮之一
  • 当用户单击“查看报告”按钮时,onclick事件调用一个javascript函数,该函数在STRUTS操作类上发出window.open,传递所选客户和所选操作
  • 在action类中,http请求设置了一些属性(request.setAttribute(..),并向外部应用程序执行转发。应用程序用于登录的属性集。这是作为一个职位
  • 我的问题是我不太确定如何使用Grails框架连接这个流。我可以让用户选择一个客户,单击actionSubmit按钮,从params中读取所选客户,将我的属性添加到“请求”中,然后..我被卡住了

    如何打开新窗口?(尝试了与Struts相同的javascript方式)


    此外,我还可以在控制器中向外部站点发出重定向,但是重定向是作为GET而不是POST执行的,并且重定向是在同一窗口中执行的。如果能帮上忙,那就太棒了。谢谢

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

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

    一,。如果不需要通过服务器验证或请求某些数据,可以使用以下方法:

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

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

    无法使用POST从服务器重定向用户

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

    一,。如果不需要通过服务器验证或请求某些数据,可以使用以下方法:

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

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

    在Grails中,我使用了createLink和'base'属性来实现这一点

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

    我认为这样做是可行的,但您可以在这里进行研究:

    在Grails中,我使用了createLink和'base'属性来实现这一点

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

    我认为这样做会奏效,但你可以在这里研究:

    那么,你已经尝试了Struts应用程序中现有的Javascript,对吗?它起作用了吗?您遇到了什么错误?是的,原来的应用程序是在struts中运行的。我正试图用GRAILS来完成同样的事情,需要一些指导。那么原始Javascript又发生了什么呢?为什么它不起作用?有什么错误吗?那么,您已经尝试了Struts应用程序中现有的Javascript,对吗?它起作用了吗?您遇到了什么错误?是的,原来的应用程序是在struts中运行的。我正试图用GRAILS来完成同样的事情,需要一些指导。那么原始Javascript又发生了什么呢?为什么它不起作用?有什么错误吗?谢谢我会试试的我会试试的