2017-02-15 1 views
0

Travailler avec les gabarits grails et la méthode de rendu n'est pas si difficile. J'ai travaillé avec ça pendant un moment maintenant.Comprendre le but du trait de soulignement dans les gabarits grails

Je suis d'accord avec la 'Convention over Configuration'. Et c'est ainsi avec le soulignement nécessaire "_" au début du nom de fichier d'un fichier modèle .gsp.

Je n'ai pas l'expérience de la programmation en général, je fais un apprentissage en tant que 'spécialiste en informatique pour le développement d'applications' depuis maintenant 2 ans et demi. Donc mes connaissances de base ne sont pas encore si grandes.

Mais j'aimerais maintenant vraiment comprendre quel est exactement le but de ce soulignement. Comment les grails traitent-ils les fichiers avec un trait de soulignement par rapport à ceux qui n'en ont pas?

+1

Je ne pense pas que mon opinion soit digne de réponse car je n'ai pas de liens/docs pour me sauvegarder, mais le soulignement devant les fichiers est juste un standard largement accepté de la façon dont les fichiers de modèles sont lus. Il est créé, donc si le fichier d'affichage a besoin d'un modèle, vous n'avez pas besoin de créer un nouveau nom pour celui-ci. Il suffit de le nommer _view.gsp. Plus les fichiers modèles sont plus faciles à différer dans le répertoire. –

Répondre

2
String view='/path/to/file' 
def model= [template:view,instance:bean] 
render(view:view, model:model) 

cela indique ce modèle est '/path/to/_file.gsp' quand il rend le bit modèle

quand il rend voir qu'il cherche '/path/to/file.gsp'

donc quand vous rendre vue il recherche les fichiers sans underscore lorsque vous faites le modèle il cherche ceux avec le soulignement

exemple ci-dessus pour expliquer fait les deux comment cela fonctionne

0

Comme d'autres l'ont déjà souligné le trait de soulignement indique que le fichier est un modèle. Cependant, la question demeure "quel est le but?"

Le but d'un modèle est de fournir un moyen de rendre un fragment de code de vue réutilisable. Cela vous permet de composer des vues très complexes (par exemple, pensez à la décomposition fonctionnelle). Les modèles ne sont pas décorés par la disposition de sitemesh. Ceci est très important lorsque vous effectuez des mises à jour partielles de page avec AJAX (ou une technologie similaire).

Le modèle documentation explique assez bien les modèles.