程序包 org.beetl.core
类 GroupTemplate
java.lang.Object
org.beetl.core.GroupTemplate
系统核心类,重量级对象,详见指南
- 作者:
- xiangdafu
-
嵌套类概要
嵌套类 -
构造器概要
构造器构造器说明使用默认的配置和默认的模板资源加载器ClasspathResourceLoader,GroupTemplate(Configuration conf) 使用指定的配置和默认的资源加载器ClasspathResourceLoaderGroupTemplate(ResourceLoader loader, Configuration conf) 使用loader 和 conf初始化GroupTempalteGroupTemplate(ResourceLoader loader, Configuration conf, ClassLoader classLoader) beetl加载类都通过classloader加载,在某些框架,需要显示设置一个classloader -
方法概要
修饰符和类型方法说明voidaddListener(EventListener eventListener) voidclose()关闭GroupTemplate,清理所有的资源voidvoidgetAjaxTemplate(Object key, String ajaxId) 获取模板的ajax片段,getAjaxTemplate(Object key, String ajaxId, ResourceLoader loader) 获取模板key的标有ajaxId的模板片段。getConf()getDefaultFormat(Class type) 设置一个自定义引擎getFunction(String name) getProgram(String key) 获得脚本getScript(Object key, ResourceLoader loader) 获得脚本获得共享变量,如果未有,返回一个空的HashMapgetTagFactory(String name) getTemplate(Object key) 获取指定模板。getTemplate(Object key, String parent, ResourceLoader loader) 得到模板,并指明父模板getTemplate(Object key, Context parent) getTemplate(Object key, ResourceLoader loader) 使用额外的资源加载器加载模板Template类是线程安全和高效的,但只能运行一次就抛弃。getVirtualAttributeEval(Class c, String attributeName) booleanhasTemplate(Object key) 判断是否加载过模板protected voidinit()protected voidprotected voidprotected voidprotected voidprotected voidprotected voidinitTag()protected voidloadClassBySimpleName(String simpleName) 通过class的简单名字找到classvoidregisterDefaultFormat(Class type, Format format) voidregisterFormat(String name, Format format) 注册一个自定义格式化函数voidregisterFunction(String name, Function fn) voidregisterFunctionPackage(String packageName, Class cls) 注册一个类的所有方法,packageName+方法名是beetl的方法名protected voidregisterFunctionPackage(String packageName, Class target, Object o) voidregisterFunctionPackage(String packageName, Object o) 注册一个function包,包名由packageName指定,方法名是对象o里的所有方法 如果方法定义为void,则方法返回null,如果方法参数最后一个Context,则传入一个Contextvoid注册一个类的所有方法,方法名是beetl的方法名,类似registerFunctionprotected voidregisterFunctionPackageAsRoot(Class target, Object o) voidregisterTag(String name, Class tagCls) voidregisterTagFactory(String name, TagFactory tagFactory) voidregisterVirtualAttributeClass(Class cls, VirtualClassAttribute virtual) voidvoidremoveTemplate(Object key) 手工删除加载过的模板执行某个脚本,参数是paras,返回的是顶级变量执行某个脚本,参数是paras,返回的是顶级变量 ,如果script有输出,则输出到writer里执行某个脚本,参数是paras,返回的是顶级变量voidsetClassLoader(ClassLoader classLoader) GroupTempalte 动态加载默写类使用的classloadervoidsetConf(Configuration conf) voidsetEngine(TemplateEngine engine) voidsetErrorHandler(ErrorHandler errorHandler) voidsetNativeSecurity(NativeSecurityManager nativeSecurity) voidsetResourceLoader(ResourceLoader resourceLoader) voidsetSharedVars(Map<String, Object> vars) 添加共享变量validateScript(Object key) validateScript(Object key, ResourceLoader loader) validateTemplate(Object key) validateTemplate(Object key, ResourceLoader loader)
-
构造器详细资料
-
GroupTemplate
public GroupTemplate()使用默认的配置和默认的模板资源加载器ClasspathResourceLoader, -
GroupTemplate
使用指定的配置和默认的资源加载器ClasspathResourceLoader -
GroupTemplate
使用loader 和 conf初始化GroupTempalte- 参数:
loader- 资源加载器conf- 模板引擎配置
-
GroupTemplate
beetl加载类都通过classloader加载,在某些框架,需要显示设置一个classloader- 参数:
loader-conf-classLoader- 默认是 Thread.currentThread().getContextClassLoader() 或者GroupTemplate的加载类
-
-
方法详细资料
-
initResourceLoader
protected void initResourceLoader() -
init
protected void init() -
initCache
protected void initCache() -
initFunction
protected void initFunction() -
initFormatter
protected void initFormatter() -
initTag
protected void initTag() -
initVirtual
protected void initVirtual() -
initBuffers
protected void initBuffers() -
setClassLoader
GroupTempalte 动态加载默写类使用的classloader- 参数:
classLoader- 资源加载器
-
getScript
获得脚本 -
getScript
获得脚本 -
runScript
执行某个脚本,参数是paras,返回的是顶级变量- 抛出:
BeetlException- ,可以通过ErrorInfo 来获取异常信息详细信息
-
runScript
执行某个脚本,参数是paras,返回的是顶级变量 ,如果script有输出,则输出到writer里- 抛出:
BeetlException
-
runScript
public Map runScript(Object key, Map<String, Object> paras, Writer w, ResourceLoader loader) throws BeetlException执行某个脚本,参数是paras,返回的是顶级变量- 抛出:
BeetlException
-
validateTemplate
-
validateTemplate
-
validateScript
-
validateScript
-
getTemplate
使用额外的资源加载器加载模板 -
getAjaxTemplate
获取模板key的标有ajaxId的模板片段。 -
getTemplate
得到模板,并指明父模板 -
getTemplate
-
getTemplate
获取指定模板。 注意,不能根据Template为空来判断模板是否存在,请调用ResourceLoader来判断 -
getAjaxTemplate
获取模板的ajax片段,- 参数:
key- ,key为模板resourceId
-
getTemplateProxy
Template类是线程安全和高效的,但只能运行一次就抛弃。如果想一直持有Template 可以调用此方法获得一个TemplateProxy -
getProgram
-
hasTemplate
判断是否加载过模板 -
removeTemplate
手工删除加载过的模板 -
close
public void close()关闭GroupTemplate,清理所有的资源 -
getResourceLoader
-
setResourceLoader
-
getConf
-
setConf
-
getClassLoader
-
fireEvent
-
addListener
-
getProgramCache
-
registerFunction
-
registerFunctionPackage
注册一个function包,包名由packageName指定,方法名是对象o里的所有方法 如果方法定义为void,则方法返回null,如果方法参数最后一个Context,则传入一个Context -
registerFunctionPackage
注册一个类的所有方法,packageName+方法名是beetl的方法名 -
registerFunctionPackageAsRoot
注册一个类的所有方法,方法名是beetl的方法名,类似registerFunction -
registerFunctionPackage
-
registerFunctionPackageAsRoot
-
registerFormat
注册一个自定义格式化函数 -
registerDefaultFormat
-
registerTag
-
registerTagFactory
-
getTagFactory
-
getFunction
-
getFormat
-
getDefaultFormat
-
registerVirtualAttributeEval
-
registerVirtualAttributeClass
-
getVirtualAttributeEval
-
loadClassBySimpleName
通过class的简单名字找到class -
getNativeSecurity
-
setNativeSecurity
-
getErrorHandler
-
setErrorHandler
-
getClassSearch
-
getAttributeAccessFactory
-
enableStrict
public void enableStrict() -
getEngine
设置一个自定义引擎 -
setEngine
-
getHtmlTagAttrNameConvert
-