2008-12-30 9 views
2

Il semble donc que le GSP de Grails n'a pas de balise include (corrigez-moi si je me trompe). La chose la plus proche de "include" est d'utiliser le render tag. Il y a aussi le include plugin.Composants panés dans GSP

Dans mon cas, j'ai un haut-gauche-milieu-bas à droite la page classique paned. L'en-tête supérieur ou le côté gauche inclurait la navigation. Le milieu serait le contenu. Le côté droit peut inclure des annonces. Dans la version JSP de mon application, chaque volet sauf le milieu serait dans leur propre JSP. J'inclurais ensuite (en utilisant <jsp:include/>) les différents panneaux dans ma page. Est-ce la bonne approche dans le SPG?

Quel est le modèle préféré d'y parvenir dans le SPG?

Répondre

0

Vous avez raison que la balise peut rendre accomplir ce que vous voulez faire. Essayez-le avec des modèles, la clé est de les nommer avec un trait de soulignement initial. Ce blog post devrait être utile.

3

Au lieu d'importer ou de rendre vos vitres per-view, vous voulez probablement utiliser la fonctionnalité de mise en page qui fournit Grails (avec SiteMesh). Si vous voulez appliquer la même mise en page à tous vos pages (c.-à-menu/contenu/annonces), vous pouvez simplement modifier grails-app/views/layouts/main.gsp d'avoir les éléments de la page dont vous avez besoin, puis la balise <g:layoutBody/> sera rempli par vos vues régulièrement rendus par votre contrôleurs. La disposition main.gsp est fournie par défaut et est la disposition par défaut pour toutes les vues (échafaudées et générées).

Si vous avez besoin des pages pour avoir les annonces et les autres de ne pas avoir, vous aurez envie de créer une nouvelle mise en page grails-app/views/layouts (par exemple main-ads.gsp). Ensuite, dans les vues que vous souhaitez afficher, dans le <head></head>, vous définissez la mise en page en utilisant <meta name="layout" content="main-ads.gsp"/>.

http://docs.codehaus.org/display/GRAILS/Views+and+Layouts

1

A partir de Grails 1.1, il y a maintenant un <g:include> tag qui fait à peu près exactement ce que vous voulez.

Il est toujours judicieux de se pencher sur les options ci-dessus re mise en page/modèles car ils seront plus efficaces dans la plupart des cas.