Can I use grails tag outside of GSP?

前端 未结 4 837
忘了有多久
忘了有多久 2020-12-09 10:24

For example, i can put

  

inside a .gsp file and it will work nicely.

Bu

相关标签:
4条回答
  • 2020-12-09 11:04

    You can use taglib methods from Grails controllers, for example:

    def userShow = g.createLink(controller:"user", action:"show")
    

    For builtin taglibs (or those in the g namespace) you can omit the namespace prefix in the method call.

    0 讨论(0)
  • 2020-12-09 11:15

    The native way to do this as of Grails 2.0 outside of controllers (so for services, async jobs, etc) is to use the LinkGenerator class. Works everywhere and mentioned in the official docs. See example here

    http://mrhaki.blogspot.ca/2012/01/grails-goodness-generate-links-outside.html

    0 讨论(0)
  • 2020-12-09 11:16

    Inject the grailsApplication into your service/filter.

    def grailsApplication
    

    And get the Spring bean.

    def g = grailsApplication.mainContext.getBean('org.codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib')
    def userShow = g.createLink(controller: 'user', action: 'show')
    
    0 讨论(0)
  • 2020-12-09 11:26

    For unmanaged classes you can reference the g taglib with:

    def g = ApplicationHolder.application.mainContext.getBean('org.codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib')
    
    0 讨论(0)
提交回复
热议问题