2016-09-27 1 views
0

Je suis mise à niveau ma demande de Grails version 1.x à 2.5 et face à ce problème dans la version 2.5 qui a bien fonctionné dans la version 1.xGrails 2.5: pour le fichier SPG Ressource non trouvée (404)

Dans le fichier GSP (connect.gsp) J'essaie d'ouvrir un autre fichier gsp rename.gsp. Ce fichier rename.gsp se trouve au même emplacement que celui de connect.gsp. Toutefois, le fichier n'est pas trouvé et l'erreur 404-Resource not found est affichée dans la fenêtre contextuelle.

connect.gsp (code javascript)

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

Emplacement des fichiers gsp:

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

est tout ce qui concerne le chargement des fichiers GSP a changé dans Grails version 2.x? S'il vous plaît aider!

Répondre

0

On dirait que les ressources de rendu est modifié dans Grails 2.x

J'ai ajouté ci-dessous solution de contournement:

Dans les endroits où j'ai pour appeler une page gsp (pas une action de contrôleur) d'un autre gsp, puis soumettez-le d'abord à l'action du contrôleur et à partir de là, utilisez render pour aller au fichier gsp respectif.

qui est, en connect.gsp

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

En UserController ajouter un renameUI d'action,

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

Je pense que les grails sont à la recherche d'une cartographie url.

Vous devez créer une action dans un contrôleur, cette action doit rendre le fichier gsp.

Exemple simple:

CustomcontrolController { 

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

puis par Grails par défaut mappent l'adresse suivante:

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

Vous pouvez également spécifier une URL spécifique non générée par Grails en éditant UrlMappings.groovy

0

Les grils fournissent le futur de redirection afin d'appeler une action d'une autre action. Mais ici lorsque l'action de connexion est ensuite rediriger arriver Appel à renommer l'action

def userController() { 
      def connect() { 

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

      } 
} 

si vous voulez appeler à rename.gsp de connect.gsp vous pouvez utiliser window.location.href

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

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