2010-05-06 13 views

cevap

11

Yapılandırılmış taglib alabilirsiniz, ancak çoğu bir web isteği bağlamında çalışıyor olmayı bekliyoruz.

import grails.util.GrailsWebUtil 

GrailsWebUtil.bindMockWebRequest ctx 

def g = ctx.getBean('org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib') 
String message = g.message(code: 'default.button.delete.confirm.message') 
Ayrıca isteğin yerel ayarlayarak diğer diller için mesajları alabilirsiniz

, örneğin: Bir sahte isteği bağlayabilmesiyle etrafında almak için Sen çalıştırarak uygulamadaki tüm taglibs bir listesini alabilirsiniz

import org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib 

// Getting the class name to reduce horizontal 
// scrolling in StackOverflow 
def g = ctx.getBean(ValidationTagLib.class.getName()) 

g.message(code: 'default.button.delete.confirm.message'); 

bu biz web isteği alay gerekmez olarak daha kolaydır @Burt console plugin kullanma

import grails.util.GrailsWebUtil 

def webRequest = GrailsWebUtil.bindMockWebRequest(ctx) 
webRequest.currentRequest.addPreferredLocale(Locale.GERMANY) 

def g = ctx.getBean('org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib') 
String message = g.message(code: 'default.button.delete.confirm.message') 
3

... konsoldaki bu kod ...

// prints a bean name per line. 
ctx.getBeanNamesForType(Object).findAll { 
    it =~ /.*TagLib$/ 
} .sort() {println it} 

// add false to prevent console printing the map out 
false