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