Le rendu des fichiers HTML dans Graal
J'ai regardé autour, mais ne pouvait pas trouver un moyen de simplement en incluant ou de rendu *.les fichiers html dans le Graal. Mon application doit g.render
ou <g:render>
des modèles qui sont livrés sous forme de fichiers html. Pour cela, comme nous le savons, html fichiers doivent être convertis _foo.gsp
fichiers dans le but d'obtenir des rendus. Je suis totalement surprise de voir pourquoi il n'existe pas de support direct pour le html ou est-il un??
Merci!
OriginalL'auteur sector7 | 2010-02-17
Vous devez vous connecter pour publier un commentaire.
Une option évidente est tout simplement de renommer vos fichiers HTML à partir de
foo.html
à_foo.gsp
et ensuite utiliser<render template="foo">
. Cependant c'est tellement évident que je suis sûr que vous avez déjà pensé.Si vous souhaitez simplement effectuer le rendu d'un fichier HTML à partir d'un contrôleur, vous pouvez utiliser le
text
paramètre de larender
méthode de contrôleurSi vous voulez faire la même chose dans un .gsp, vous pourriez écrire une balise. Quelque chose comme ce qui suit (non testé):
Vous pouvez appeler cette balise dans un SPG à l'aide de
Ne - ne sais pas si vous verrez que cela, l'espoir. J'ai essayé le code que vous avez posté, mais il semble que j'ai pour spécifier un fichier par rapport à mes ordinateurs répertoire racine, par exemple "C:/grails2.0/..." Comment puis-je le faire fonctionner par rapport à mon répertoire webroot, comme le render view travaille actuellement, à la recherche de fichiers dans des dossiers?
Si vous mettez les fichiers HTML en vertu de l'application web, vous devriez être en mesure de les récupérer à l'aide de
g.resource
OriginalL'auteur Dónal
Qu'est-ce que vous essayez d'accomplir?
De rendu html à partir d'un contrôleur?
Dans ce cas, tout ce que vous devez avoir à faire est de rediriger l'utilisateur vers un fichier à partir de votre contrôle.
redirect(uri:"/html/my.html")
Utilisation de fichiers html à la place du spg modèle fichiers?
Chose est, le Graal est une "Convention over Configuration"-plate-forme et cela signifie que vous aurez à faire certaines choses, "le Graal". Les fichiers des besoins de l' _ et le
.gsp
, mais le nom peut être ce que vous voulez, même si c'est plus facile lorsque vous utilisez le même nom que le contrôleur. Ce que vous gagnez de le faire est la connaissance que chaque développeur qui sait graal et vient dans votre projet permettra de comprendre comment les choses sont liées et qui va les aider à démarrer rapidement.Merci pour éclaircir cela. Ne la réponse semble être une bonne solution pour vous et honnêtement votre besoin est suffisamment précis pour justifier sa propre personnalisé taglib.
OriginalL'auteur xlson
Peu fixe le Don de l'exemple, fonctionne très bien pour moi
import org.apache.commons.io.IOUtils
OriginalL'auteur jozh
Je voulais écrire statique html/ajax pages hébergées dans graal application (v2.4.4), mais utiliser le contrôleur pour la réécriture d'url. J'ai été en mesure d'accomplir ceci en déplaçant le fichier web-app/(pour plus de facilité), et il suffit d'utiliser la méthode render() avec 'fichier' et 'contentType' params, tels que:
Note: j'ai seulement essayé ceci à l'aide d'exécuter l'application, et n'ont pas emballés à une guerre, et déployé à tomcat, encore.
Doc: http://grails.github.io/grails-doc/2.4.4/ref/Controllers/render.html
OriginalL'auteur Scott Langeberg
Elle est relative à la web-app dossier de votre graal principale de l'application
def includeFile = { attr -> URL resource = Holders.getServletContext().getResource(attr.file) InputStream content = resource.getContent() String text = content?.text log.info "includeFile($attr) - resource: $resource, content.text.size(): ${text?.size()}" out << text }
OriginalL'auteur momomo
J'ai été en mesure d'utiliser @momo approche pour permettre l'inclusion de fichiers externes pour graal rendu plugin, où le réseau de chemins obtenir bâclé en plus des environnements de mine retrouvés comme:
OriginalL'auteur Scott Langeberg