【问题标题】:Grails 2.5 : Resource not found (404) for GSP fileGrails 2.5:未找到 GSP 文件的资源 (404)
【发布时间】:2016-09-27 12:21:51
【问题描述】:

我正在将我的 Grails 应用程序从 1.x 版升级到 2.5 版,并在 2.5 版中遇到这个问题,在 1.x 版中运行良好

在 GSP 文件 (connect.gsp) 中,我试图打开另一个 gsp rename.gsp。此 rename.gsp 文件与 connect.gsp 位于同一位置。但是,找不到文件,并在弹出窗口中显示 404-Resource not found 错误。

connect.gsp(javascript 代码)

showPopWin("${request.getContextPath()}/user/rename.gsp", 280, 160, returnFunction);

gsp 文件的位置:

grails-app
     - views
          -user
              -connect.gsp
              -rename.gsp

在 Grails 2.x 版本中是否更改了与 GSP 文件加载相关的任何内容?请帮忙!

【问题讨论】:

    标签: grails grails-2.0 gsp


    【解决方案1】:

    我认为 grails 正在寻找一个 url 映射。

    你应该在控制器中创建一个动作,这个动作必须渲染 gsp 文件。

    简单示例:

    CustomcontrolController {
    
        def renamedisplay()
        {
            render(view: '/user/rename')
        }
    }
    

    那么默认情况下,grails 将映射以下 url:

    showPopWin("${request.getContextPath()}/customcontrol/renamedisplay", 280, 160, returnFunction);
    

    或者你可以通过编辑 UrlMappings.groovy 指定一个不是由 grails 生成的特定 url

    【讨论】:

      【解决方案2】:

      Grails 提供了重定向未来,以便从另一个动作中调用一个动作。 但是在这里,当连接操作被调用时,然后重定向到重命名操作

         def userController () {
                 def connect () {
      
                    redirect(action: "rename")
                    //  or redirect(controller: "user", action: "rename") 
                 } 
                def rename() {
      
                } 
       }
      

      如果想从connect.gsp 呼叫rename.gsp,您可以使用window.location.href

      window.location.href="${request.getContextPath()}/user/rename" 
      or
      
      window.location.href="${request.getContextPath()}/user/rename.gsp"
      

      【讨论】:

        【解决方案3】:

        看起来资源渲染在 Grails 2.x 中发生了变化

        我添加了以下解决方法:

        在我必须从另一个 gsp 调用 gsp 页面(不是控制器操作)的地方,然后首先将其提交给控制器操作,然后使用渲染转到相应的 gsp 文件。

        即在connect.gsp中

        showPopWin("${request.getContextPath()}/user/renameUI", 280, 160, returnFunction);
        

        在 UserController 中添加一个动作 renameUI,

        def renameUI= {
            render( view : 'rename', model:[params:params])
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-09-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-07-13
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多