Context是一个环境类,在这个类里可以获取或者设置数据源、参数值、报表主路径及客户端的Locale等。
◆ 实例请参考
这里需要注意的是在ReportDefine里也可以设置参数值,与在Context里设置区别在于:如果在ReportDefine里设置参数,那么必须对参数进行计算,计算方法是Engine.calcStaticParam(rd,context),还是要通过Context来计算,而在Context里设置参数后,就可以直接用Engine来运算报表。
l 构造函数
类名:com.raqsoft.report.usermodel.Context
public Context() //以Context.getInitCtx()为父上下文创建上下文对象
public Context(Context parent) //创建上下文对象
Parameters:parent - 父上下文对象
l 可用方法
setInitCtx
语 法: public static void setInitCtx(Context initCtx)
参数说明: initCtx–根上下文
功能说明: 设根上下文
Returns : 空
调用举例: 略
getInitCtx
语 法: public static Context getInitCtx()
功能说明: 取根上下文
Returns : Context
调用举例: 略
getMainDir
语 法: public static final java.lang.String getMainDir()
功能说明: 取主路径
Returns : java.lang.String 报表主路径,在服务器上一般指raqsoftConfig.xml文件下<Report>里的<home>属性所对应的路径,而在设计器中是指系统-选项-常规-应用资源路径。
调用举例: String mainDir = context. getMainDir ();
setMainDir
语 法: public static final void setMainDir(java.lang.String mainDir)
参数说明: mainDir–用户要设置的应用资源路径
功能说明: 设主路径
Returns : 空
调用举例: Context.setMainDir(“D:/temp/reportFiles2”);
getParamMap
语 法: public java.util.Map getParamMap(boolean created)
参数说明: created - true表示若不存在则创建一个新的参数Map, false表示不存在则返回null
功能说明: 取当前上下文对象中的参数Map
Returns : 当前上下文对象中的参数Map
调用举例: java.util.Map paramMap = context. getParamMap (true);
isParamName
语 法: public boolean isParamName(java.lang.String paramName)
参数说明: paramName - 参数名
功能说明: 判断给定字符串是否是参数名称
Returns : true或者false
调用举例: boolean flag = context. isParamName (“arg1”);
setParamValue
语 法: public void setParamValue(java.lang.String paramName, java.lang.Object value)
参数说明:
paramName - 参数名
value – 参数值
功能说明: 设参数值
Returns : 空
调用举例: context.setParamValue(“endData”,new Data());
getDBConfigMap
语 法: public java.util.Map getDBConfigMap(boolean created)
参数说明: created - true表示若不存在则创建一个新Map, false表示不存在则返回null
功能说明: 取数据库Map
Returns : 数据库配置Map
调用举例: java.util.Map dbConfigMap = context. getDBConfigMap (true);
getDataSourceConfig
语 法: public DataSourceConfig getDataSourceConfig(java.lang.String dbName)
参数说明: dbName - 数据库名
功能说明: 按名称取数据库
Returns : 数据库
调用举例: DataSourceConfig dsc = context. getDataSourceConfig (“jdbc/test”);
setDataSourceConfig
语 法: public void setDataSourceConfig(java.lang.String dbName, DataSourceConfig dataSourceConfig)
参数说明:
dbName - 数据库名
dataSourceConfig - 数据源配置
功能说明: 按名称设置数据库配置
Returns : 空
调用举例:
DataSourceConfig dsc = DataSourceConfig();
dsc…….//对数据源配置的相关设置
context. setDataSourceConfig (“jdbc/test”,dsc);
getConnectionFactoryMap
语 法: public java.util.Map getConnectionFactoryMap(boolean created)
参数说明: created - true表示若不存在则创建一个新Map, false表示不存在则返回null
功能说明: 取当前上下文对象中的数据库连接Map
Returns : 当前上下文对象中的数据库连接Map
调用举例: java.util.Map connectionMap = context. getConnectionFactoryMap (false);
getConnectionFactory
语 法: public IConnectionFactory getConnectionFactory(String dbName)
参数说明: dbName - 数据库名
功能说明: 从当前上下文中按名称取数据库连接工厂,若无则从父上下文取中
Returns : 数据库连接工厂
调用举例: IConnectionFactory iconFactory = context. getConnectionFactory (“jdbc”);
setConnectionFactory
语 法: public void setConnectionFactory(java.lang.String dbName, IConnectionFactory cf)
参数说明:
dbName - 数据库名
cf - 数据库连接工厂
功能说明: 设数据库连接工厂
Returns : 空
调用举例:
IConnectionFactory iconFactory = new JNDIConnectionFactory(“jdbc/test”);
context. setConnectionFactory (“test”, iconFactory);
getDataSet
语 法: public DataSet getDataSet(java.lang.String dsName)
参数说明: dsName - 数据集名
功能说明: 从当前上下文中按名称取数据集,若无则从父上下文中取,由于父上下文的数据集可以共享,故从父上下文中取得的数据集会复制到本上下文的数据集缓冲池中
Returns : 返回要取的数据集
调用举例: DataSet ds = context. getDataSet(“ds1”);
setDataSet
语 法: public void setDataSet (String dsName, DataSet ds)
参数说明: dsName -数据集名
ds - 数据集
功能说明: 设数据集
Returns : 空
调用举例: DataSet dataset = getDataSet();//注意,这里的getDataSet由用户实现
context. setDataSet (“ds1”, dataset);
setDefDataSourceName
语 法: public void setDefDataSourceName(java.lang.String dataSourceName)
参数说明: dataSourceName -数据源名
功能说明: 设置数据源名
Returns : 空
调用举例: context.setDefDataSourceName(“myDataSource”);
getConnection
语 法: public java.sql.Connection getConnection(java.lang.String dbName)
参数说明: dbName -数据库名
功能说明: 从用户数据库连接缓冲池中取数据库连接,若无则从父上下文中取。使用时若未取到,则需使用数据库名相对应的数据库连接工厂取数据库连接,并及时释放
Returns : java.sql.Connection
调用举例: 略
setConnection
语 法: public void setConnection(String dbName ,Connection conn)
参数说明: dbName -数据库名
conn - 数据库连接
功能说明: 将数据库连接存入用户数据库连接缓冲池中
Returns : 空
调用举例: context.setConnection(“jdbc/test”,….getConnection);
getApplication
语 法: public javax.servlet.ServletContext getApplication()
功能说明: 在web应用中取application对象
Returns : javax.servlet.ServletContext JSP中的application对象
调用举例: javax.servlet.ServletContext application = context.getApplication();
setApplication
语 法: public void setApplication(javax.servlet.ServletContext sc)
功能说明: 设置web应用的application对象
Returns : 空
调用举例: context.setApplication(application);
getLocale
语 法: public final java.util.Locale getLocale()
功能说明: 取当前Locale,若未设则从父上下文找,若未找到则返回本机却省Locale
Returns : java.util.Locale 当前Locale
调用举例: Locale locale = context.getLocale()
setLocale
语 法: public final void setLocale(java.util.Locale locale)
功能说明: 设置当前locale
参数说明: locale 当前locale
调用举例: context.setLocale(locale)
getJspCharset
语 法: public static final java.lang.String getJspCharset()
功能说明: 获取web应用中JSP页面的字符集编码
Returns : String web应用中JSP页面的字符集编码
调用举例: String charset = context.getJspCharset();
setJspCharset
语 法: public static final void setJspCharset(java.lang.String encode)
功能说明: 设置web应用中JSP页面的字符集编码
参数说明: encode web应用中JSP页面的字符集编码
调用举例: context.setJspCharset(“GBK”);
getParent
语 法: public Context getParent()
功能说明: 获取父对象上下文
Returns : 父对象上下文
调用举例: 略
getAllParamMap
语 法: public java.util.Map getAllParamMap()
功能说明: 取当前上下文对象及其所有层次父对象中的参数Map
Returns : Map 当前上下文对象及其所有层次父对象中的参数Map
调用举例: Map map = context.getAllParamMap()
setParamMap
语 法: public void setParamMap(java.util.Map map)
功能说明: 设置当前上下文对象中的参数Map
参数说明: map 当前上下文对象中的参数Map
调用举例: context.setParamMap(map)
getParamValue
语 法: public java.lang.Object getParamValue(java.lang.String paramName)
功能说明: 从当前上下文中按名称取参数值,若无则从父上下文中取
参数说明: paramName 参数名
Returns : object 取回的参数值
调用举例: Object o = context.getParamValue(paramName)
getDataSetMap
语 法: public java.util.Map getDataSetMap(boolean created)
功能说明: 取当前上下文对象中的数据集Map
参数说明: created true表示若不存在则新创建一个Map。False表示不存在则返回null
Returns : map 当前上下文对象中的数据集Map
调用举例: Map map = context.getDataSetMap(true)
isDataSetName
语 法: public boolean isDataSetName(java.lang.String dsName)
功能说明: 判定给定字符创是否是数据集名称
参数说明: dsName 给定的字符串
Returns : boolean 是否是数据集名称
调用举例: boolean b = context.isDataSetName(“data”)
getDefDataSourceName
语 法: public java.lang.String getDefDataSourceName()
功能说明: 取缺省数据库名,若为null则从父上下文中取
Returns : string 缺省数据库名
调用举例: String str = context.getDefDataSourceName()
getConnectionMap
语 法: public java.util.map getConnectionMap(boolean created)
功能说明: 取数据库连接map
参数说明: created true表示若不存在则新创建一个Map。False表示不存在则返回null
Returns : map 数据库连接map
调用举例: Map map = context.getConnectionMap()
getHttpSession
语 法: public java.servlet.http.HttpSession getHttpSession()
功能说明: 在Context链上取第一个非空的HttpSession,取不到则返回null
Returns : HttpSession
调用举例: context.getHttpSession()
setHttpSession
语 法: public void setHttpSession(java.servlet.http.HttpSession hs)
Returns : HttpSession
调用举例: context.setHttpSession(HttpSession)
setReportConfigModel
语法: public static void setRrportConfigModel(com.raqsoft.web.view.ReportConfigModel reportConfigModel)
参数说明: reportConfigModel
调用举例: context.setReportConfigModel()
getReportConfigModel
语 法: public static com.raqsoft.web.view.ReportConfigModel getReportCOnfigModel()
Returns : reportConfigModel
调用举例: context.getReportConfigModel()