2016-10-29 3 views
0

Ich habe eine main.gsp und andere .gsp Seiten, die <meta name="layout" content="main" /> verwenden.Keeping Daten im Hauptlayout abgerufen

Eine der Seiten ist page1.gsp und hat einen page1Controller, der eine Liste von Links vom Endpunkt abruft.

In main.gsp wird die Liste der abgerufenen Links angezeigt, daher sollten alle Seiten, die verwendet werden, die Liste anzeigen.

Gibt es trotzdem etwas anderes, als die Abrufliste in jeden dieser Controller zu setzen?

Antwort

1

Ich empfehle Ihnen, eine Taglib mit einer Vorlage zu verwenden.

MyTaglib.groovy

class MyTagLib { 

    static defaultEncodeAs = [taglib:'html'] 
    static namespace = 'myTaglib' 

    def links = { attrs, body -> 
     // your logic to retrieve links or whatever 
     out << render(template: 'links', model: [links:links]) 
    } 
} 

_links.gsp

${links} <!-- display your links --> 

page1.gsp (oder jede andere gsp)

<myTaglib:links />