Grails & Groovy 相关工具
| Modifiers | Name | Description |
|---|---|---|
static org.codehaus.groovy.grails.commons.DefaultGrailsApplication |
application |
grailsApplication |
static org.codehaus.groovy.grails.commons.spring.GrailsWebApplicationContext |
context |
grailsApplication.getMainContext() |
static Object |
settingService |
BroFramework: SettingService |
| Type | Name and description |
|---|---|
static List<String> |
errorMessages(Object bean)从bean里获得错误信息,并返回错误信息(字符串)列表 |
static Object |
evalScript(String script, Binding binding, Map params)执行脚本:使用GSE,避免每次都编译 |
static List<Map> |
findViews(String viewPath, String prefix)在应用和各个插件下搜索视图模板 |
static List<String> |
getAutoImportClasses()根据配置 bropen.toolkit.autoimport.classes.xxxx 获得将要在GSP、Script中自动导入的类列表 |
static org.codehaus.groovy.grails.commons.GrailsClass[] |
getBootstrapArtefacts(String order)获得所有 Bootstrap 类,并按照插件的依赖关系排序。 |
static Object |
getConfig(String path)获取Config值。 |
static org.codehaus.groovy.grails.plugins.GrailsPluginManager |
getPluginManager()获得插件管理器 |
static String |
getPluginRealPath(String pluginName)根据插件名称,获得 web-app 在文件系统中的绝对路径。 |
static String |
getPluginResPath(String pluginName)根据插件名称,获得其在Web应用中的资源路径,用来生成访问其资源文件的路径(如js等) |
static String |
getServerURL()获得当前应用服务器的绝对地址 |
static String |
getServerURL(Object domainApp)计算应用服务器的绝对地址 |
static List<String> |
getUserPluginNames()获得所有按照依赖关系排序后的插件名称列表 |
static boolean |
isInteractiveMode()是否是交互模式的 run-app |
static boolean |
isPlugin()判断当前运行的工程是否是插件 |
static boolean |
isPluginAvailable(String pluginName)是否启用了某个插件 |
static groovy.util.ConfigObject |
mergeConfig(String className, groovy.util.ConfigObject currentConfig)Merge in a secondary config (provided by a plugin as defaults) into the main config. |
static String |
message(String code, List args = null, String defaultMsg = "", Boolean isDefaultLang = false)根据消息代码等,获得国际化的消息字符串(可以在Service里使用)。 |
static String |
messageLang(String lang = "default" )计算当前使用的国际化语言 |
static Locale |
messageLocale(String lang = "default" )计算当前使用的国际化语言 |
static groovy.util.ConfigObject |
parseConfig(String clazzName)从一个config类(如 Config、DataSource)中解析配置 |
static List<Map> |
sortPlugins(List<Map> plugins, String order = "asc" )按照插件的依赖关系排序。 |
| Methods inherited from class | Name |
|---|---|
class Object |
Object#wait(long), Object#wait(long, int), Object#wait(), Object#equals(Object), Object#toString(), Object#hashCode(), Object#getClass(), Object#notify(), Object#notifyAll() |
grailsApplication
grailsApplication.getMainContext()
BroFramework: SettingService
从bean里获得错误信息,并返回错误信息(字符串)列表
执行脚本:使用GSE,避免每次都编译
script - 脚本内容binding - 参数绑定,可为空params - 其他参数,可为空在应用和各个插件下搜索视图模板
视图模板位于 viewPath 下,名称为 _prefix_pluginname.gsp,如果在应用下,则后缀插件名为app。
viewPath - 视图路径,如 "/bropen/framework/core/security/User/"prefix - 视图模板名前缀,如 foobar根据配置 bropen.toolkit.autoimport.classes.xxxx 获得将要在GSP、Script中自动导入的类列表
获得所有 Bootstrap 类,并按照插件的依赖关系排序。
用于修改后的 GrailsConfigUtils 和 GrailsDispatcherServlet,以解决按顺序执行的问题。
这里假设每个 Bootstrap 类名称前缀就是插件名称。
order - asc 或 desc获取Config值。主要供java的类使用(调用ConfigObject不方便)
name - 配置名,如“grails.plugin.springsecurity.ldap.active”获得插件管理器
根据插件名称,获得 web-app 在文件系统中的绝对路径。
pluginName - 插件名称根据插件名称,获得其在Web应用中的资源路径,用来生成访问其资源文件的路径(如js等)
pluginName - 插件名称获得当前应用服务器的绝对地址
计算应用服务器的绝对地址
domainApp - 域下的应用(DomainApplication)获得所有按照依赖关系排序后的插件名称列表
是否是交互模式的 run-app
判断当前运行的工程是否是插件
是否启用了某个插件
pluginName - 插件名称Merge in a secondary config (provided by a plugin as defaults) into the main config.
currentConfig 里的配置优先!
拷贝自:SpringSecurityUtils
className - the name of the config class to loadcurrentConfig - the current configuration根据消息代码等,获得国际化的消息字符串(可以在Service里使用)。
参考:http://blog.zmok.net/articles/2008/08/07/grails-internationalization-in-the-service
code - The code to resolve the message forargs - A list of argument values to apply to the message, when code is used.defaultMsg - The default message to output if the error or code cannot be found in messages.properties.isDefaultLang - true时取系统支持的第一种语言的消息,false(默认)则取浏览器语言的消息计算当前使用的国际化语言
Config 中可以配置:
bropen.toolkit.i18n.supported: 系统支持的i18n语言列表,如 ["zh_CN"];bropen.toolkit.i18n.mapping: 语言不在上面列表中时的映射关系;["zh_CN": ["zh*"]] 表示所有 zh 为前缀的语种都映射到 zh_CN,而其他语言则采用默认语言。lang - 映射前的语言,如 zh_TW;
或通过 response.getLocale().getLanguage() + "_" + response.getLocale().getCountry() 计算出来的结果;
如果为 default(默认值),则为当前浏览器的语言;
如果为 null,则为系统支持的第一种语言。计算当前使用的国际化语言
lang - 同 messageLang 方法从一个config类(如 Config、DataSource)中解析配置
clazzName - 配置类,如果里面有 grails.config.defaults.locations ,并且配置为其他Config类的数组,则可以全部加载按照插件的依赖关系排序。
plugins - 插件Map列表,格式为 [pluginName|name: Xyz, xxx: yyy], 其中必须要有的是 pluginName|name,其他键值对可选order - 排列顺序,asc(默认,依赖多的排后面) 或 desc