OFBiz进阶--OFBiz上下文之[Screen.xml]自变量

lvzhiliang 2017-08-24

<!--?xml version="1.0" encoding="UTF-8" standalone="no"?-->
[v16.11]
在[org.apache.ofbiz.widget.renderer.macro.MacroScreenViewHandler.render()]内调用下面方法初始化执行上下文
org.apache.ofbiz.widget.screen.ScreenRenderer.populateContextForRequest()
        >>>在这里调用了[org.apache.ofbiz.widget.screen.ScreenRenderer.populateBasicContext()]
    application: org.apache.catalina.core.ApplicationContextFacade(tomcat-catalina-8.0.42.jar)
    Application: [request.Attribute.ftlServletContext] freemarker.ext.servlet.ServletContextHashModel(freemarker-2.3.24-incubating.jar)
    autoUserLogin: 登录后的用户对象, [request.Attribute.autoUserLogin] org.apache.ofbiz.entity.GenericValue
    checkLoginUrl: 登录检查的相对地址, [LoginWorker.makeLoginUrl(request)] 
                            org.apache.ofbiz.base.util.StringUtil.StringWrapper, 如--[/checkLogin/FindDesignGuageMonitor]
    contextRoot: 访问的当前模块物理文件根目录, [request.Attribute._CONTEXT_ROOT_] 如--[/Users/apple/workings/workspace/ofbiz/hot-deploy/workbench/webapp/workbench/]
    controlPath: 访问的当前模块请求uri前缀, [request.Attribute._CONTROL_PATH_] 如--[/workbench/control]
    errorMessageList: 错误型消息载体, [request.Attribute.errorMessageList]和[request.Attribute._ERROR_MESSAGE_]和[request.Attribute._ERROR_MESSAGE_LIST_] 
                            java.util.LinkedList(JAVA-JDK:rt.jar)
    eventMessageList: 事件型消息载体, [request.Attribute.eventMessageList]和[request.Attribute._EVENT_MESSAGE_]和[request.Attribute._EVENT_MESSAGE_LIST_] 
                            java.util.LinkedList(JAVA-JDK:rt.jar)
    externalLoginKey: 跨模块登录的会话Key, [LoginWorker.getExternalLoginKey(request)] 如--[ELa39cea9e-b198-4ba4-b941-92d6fafbffed]
    externalKeyParam: 跨模块登录的参数, 如--[&amp;externalLoginKey=ELa39cea9e-b198-4ba4-b941-92d6fafbffed] java.lang.String(JAVA-JDK:rt.jar)
    https: 是否开启了安全请求, [servletContext.Attribute.https] java.lang.String(JAVA-JDK:rt.jar)
    isError: 是否发生错误, [errorMessageList.size() > 0] 请求内是否已经包含错误消息了, java.lang.Boolean(JAVA-JDK:rt.jar)
    JspTaglibs: jsp标签支持库, [new TaglibFactory(servletContext)] freemarker.ext.jsp.TaglibFactory(freemarker-2.3.24-incubating.jar)
    javaScriptEnabled: 启用页面js, [UtilHttp.isJavaScriptEnabled(request)] java.lang.Boolean(JAVA-JDK:rt.jar)
    partyGroup: 登录后后的组织对象, [request.Attribute.partyGroup] org.apache.ofbiz.entity.GenericValue
    person: 登录后后的人员对象, [request.Attribute.person] org.apache.ofbiz.entity.GenericValue
    request: RequestFacade[外部的]
    Request: [context.requestAttributes] freemarker.ext.servlet.HttpRequestHashModel(freemarker-2.3.24-incubating.jar)
    requestAttributes: 请求属性, 请求[new HttpRequestHashModel(request, FreeMarkerWorker.getDefaultOfbizWrapper())] 
                            freemarker.ext.servlet.HttpRequestHashModel(freemarker-2.3.24-incubating.jar)
    requestParameters: 请求携带的url参数集, [UtilHttp.getParameterMap(request)] java.util.HashMap(JAVA-JDK:rt.jar)
    response: 请求响应对象, org.apache.catalina.connector.ResponseFacade(tomcat-catalina-8.0.42.jar)
    rootDir: 访问的模块在服务端的根目录, 如--[/Users/apple/workings/workspace/ofbiz/hot-deploy/workbench/webapp/workbench/]
    serverRoot: 请求主域名, [request.Attribute._SERVER_ROOT_URL_] 如--[http://localhost:8080]
    session: 会话对象, org.apache.catalina.session.StandardSessionFacade(tomcat-catalina-8.0.42.jar)
    sessionAttributes: 会话属性, [new HttpSessionHashModel(session, FreeMarkerWorker.getDefaultOfbizWrapper())] 
                            freemarker.ext.servlet.HttpSessionHashModel(freemarker-2.3.24-incubating.jar)
    timeZone: 时区对象, [UtilHttp.getTimeZone(request)] sun.util.calendar.ZoneInfo (JAVA-JDK:rt.jar)
    webappName: , 应用模块, [session.Attribute._WEBAPP_NAME_?:"root"] 如--[workbench](模块名称)
    webSiteId: 站点标识, 配置在模块内(web.xml)文件内[WebSiteWorker.getWebSiteId(request)] 如--[workbenchSite] java.lang.String(JAVA-JDK:rt.jar)
 
org.apache.ofbiz.widget.screen.ScreenRenderer.populateBasicContext()
    delegator: 数据库代理器, [request.Attribute.delegator] org.apache.ofbiz.entity.GenericDelegator
    dispatcher: 服务调度器, [request.Attribute.dispatcher] org.apache.ofbiz.service.GenericDispatcherFactory.GenericDispatcher
    globalContext: 全局上下文, [context.standAloneStack()] org.apache.ofbiz.base.util.collections.MapStack
    locale: 国际化对象, [UtilHttp.getLocale(request), userLogin)] java.util.Locale(JAVA-JDK:rt.jar)
    nullField: 空对象, [org.apache.ofbiz.entity.GenericEntity.NullField]
    nowTimestamp: 当前时间戳, [org.apache.ofbiz.base.util.UtilDateTime.nowTimestamp()] java.sql.Timestamp(JAVA-JDK:rt.jar)
    parameters: 客户端请求携带所有参数, [UtilHttp.getCombinedMap(request, attrNamesToSkip)] java.util.HashMap(JAVA-JDK:rt.jar)
    screens: 当前待渲染屏幕的对象, org.apache.ofbiz.widget.renderer.ScreenRenderer
    security: 安全权限对象, [request.Attribute.security] org.apache.ofbiz.security.SecurityFactory.OFBizSecurity
    userLogin: 当前登录用户的对象, [session.Attribute.userLogin] org.apache.ofbiz.entity.GenericValue
    userPreferences: 用户个性化配置载体对象, java.util.LinkedHashMap(JAVA-JDK:rt.jar)
 
Screen运行时内建
    formStringRenderer: 屏幕渲染器, org.apache.ofbiz.widget.renderer.macro.MacroFormRenderer
    headerItem: 页头-子菜单标识(FindDesignGuageMonitor)
    headerTitle: 页头-页面标题标识
    menuStringRenderer: 菜单渲染器, org.apache.ofbiz.widget.renderer.macro.MacroMenuRenderer
    p_Ctx: 调用分页服务时, 传入的查询条件的Map集合
    renderFormSeqNumber: 渲染[form]时, 页面已有[form]顺序号
    simpleEncoder: 页面内容编码器, org.apache.ofbiz.base.util.UtilCodec.HtmlEncoder
    treeStringRenderer: 树渲染器, org.apache.ofbiz.widget.renderer.macro.MacroTreeRenderer 

相关推荐