Ho letto il libro "The Definitive Guide to Grails" (Rocher/Brown) e nel Capitolo 04, questa cosa misteriosa chiamata "layout" è appena apparsa senza spiegazione. (E non c'è un "layout" nell'indice.) Per quanto ne so, non viene mai spiegato.)In che modo Grails sa applicare un "layout" alle pagine che rende?
Come fa il sistema a "ereditare" le pagine da layout/main.gsp? Non c'è niente riguardo ai "layout" nell'indice, e sembra che sia appena apparso.
Sul loro applicazione di esempio, un semplice sito di vendita, i mapping di URL per la/home page dicono
"/"(controller:"store")
e vuota "indice di" chiusura del controller negozio
package com.g2one.gtunes
class StoreController {
def index = {
}
}
semplicemente dice di rendere negozio /index.gsp
Il negozio/index.gsp ha solo poche righe di HTML; senza il layout viene incluso in qualsiasi direttiva
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta name="layout" content="main">
<title>gTunes Store</title>
<g:javascript library="prototype"></g:javascript>
</head>
<body id="body">
<h1>Your online music store and storage service!</h1>
<p>Manage your own library, browse music and purchase new tracks as they become available</p>
</body>
</html>
Quando eseguo il campione pagina indicata per "/" non è solo questo semplice HTML, è il contenuto di "layout/main.gsp" con queste informazioni magicamente inserita dentro.
Non vedo come le informazioni nel layout/main.gsp vengano applicate alla pagina, come gli elementi vengono mescolati insieme. Ho seguito il libro pagina per pagina e questa funzionalità è semplicemente "apparso" senza spiegazione.
Grazie! Mi stava fissando in faccia. Non pensavo di guardare in un tag "meta" quando tutte le altre direttive Grails assomigliavano a