2016-09-27 8 views
0

Я обновление моего приложения Grails от версии 1.x до 2,5 и облицовочного этого вопроса в версии 2.5, который работал хорошо в версии 1.xGrails 2.5: Ресурс не найден (404) для GSP файла

В GSP файл (connect.gsp) Я пытаюсь открыть другой gsp rename.gsp. Этот файл rename.gsp находится в том же месте, что и файл connect.gsp. Однако файл не найден, и во всплывающем окне отображается ошибка 404-Ресурс.

connect.gsp (JavaScript-код)

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

Расположение GSP файлов:

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

ли что связано с GSP загрузки файлов изменилось в Grails версии 2.x? Пожалуйста помоги !

ответ

0

Похожи рендеринг ресурсов изменяются в Grails 2.x

Я добавил ниже обходной путь:

В тех местах, где у меня есть для вызова страницы gsp (не действия контроллера) из другого gsp, затем сначала отправьте его в действие контроллера и оттуда используйте render для перехода к соответствующему файлу gsp.

То есть, в connect.gsp

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

В UserController добавить renameUI действие,

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

Я думаю, что grails ищет URL-адрес.

Вы должны создать действие в контроллере, это действие должно отобразить файл gsp.

Простой пример:

CustomcontrolController { 

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

затем по умолчанию Грааль будут отображающими следующий URL:

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

Или вы можете указать конкретный URL не порожденных Грааль путем редактирования UrlMappings.groovy

0

Grails обеспечивают перенаправление будущего, чтобы вызвать одно действие из другого действия. Но вот при подключении действия получить вызов перенаправления на переименование Действия

def userController() { 
      def connect() { 

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

      } 
} 

если хочет позвонить в rename.gsp из connect.gsp вы можете использовать window.location.href

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

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