一、为了我们的方便,容器包含一些对象。这些对象是非常有用的对象:
· screens是一个org.ofbiz.widget.screen.ScreenRenderer对象
· globalContext是一个org.ofbiz.base.util.collections.MapStack对象
· nullField是一个org.ofbiz.entity.GenericEntity$NullField对象
· availableLocales是一个java.util.List对象
· locale 是一个java.util.Locale对象
· delegator是一个org.ofbiz.entity.GenericDelegator对象
· dispatcher是一个org.ofbiz.service.GenericDispatcher对象
· security是一个org.ofbiz.security.OFBizSecurity对象
· userLogin是一个org.ofbiz.entity.GenericValue对象
· parameters是一个java.util.Map对象
二、简单介绍
screens对象是用作FreeMarker模板中来呈现子窗口的,通过screen widget定义。
globalContext对象是一个窗口中嵌套窗口(包括顶级窗口自身)可见和可用的一个单独共享的容器(context)。
nullField对象用于数据库检查(它调用检查数据库中字段的null值)的null值。null是计算机中的空,没有值。我们将在迷你语言中复习这个。它不用于BeanShell。
availableLocales对象是我们想OFBiz支持的可用地区或翻译的一个列表。这个列表定义在 ${component:common}\config\general.properties属性locales.available中(45行)。这个属性现已被注释掉(通过“#”字符),因此这个列表将是我们Windows 操作系统安装了的区域设置。既然OFBiz可能并没有我们操作系统中安装的每种区域设置中的翻译,这个是基本不需要的。假设你安装的Windows有众多区域设置,发送一个http请求到web应用ecommerce来看这个可能巨大的可用语言列表,在右上角的下拉列表中。在OFBiz中只有其中一些有翻译。遇到翻译缺失的情况下,使用英文。
locale对象是当前所选地区。基于该值,OFBiz决定在screen中显示何种语言。该值来自OFBiz终端用户的当前会话中,在一个名为locale的session属性中。如果那里没有找到,那么将使用终端用户最近登录选择的地区。作为最后的手段,这个地区指定查找文件 ${OFBizInstallFolder}\startofbiz.bat的字符串-Duser.language=en,这里意为英文(en)。介绍的最后一个特性来解决Sun Java API中一个问题,如何处理属性文件。既然OFBiz现在使用XML替代属性文件(ResourceBundle)来存储翻译,它在当前OFBiz版本中已被删除掉了。
delegator对象用来和数据库通信。
dispatcher对象用来调用OFBiz服务。
security对象提供一些安全相关和权限检查的便利工具。
userLogin对象,如果存在,包含已登录的终端用户的细节。它作为userLogin属性标记在session中。通常联合安全对象一起使用。
parameters对象是请求参数的映射。一个映射,在计算机中,是一个键值对集合。实际上,参数由请求属性,请求参数,会话属性(session attributes)和servlet容器(ContextServlet)属性组成。