首页 润乾报表V3.0在WEB中的使用说明

润乾报表V3.0在WEB中的使用说明

举报
开通vip

润乾报表V3.0在WEB中的使用说明润乾报表(新版)在WEB中的使用说明1WEB服务器配置使用本报表系统需要在WEB服务器中配置WEB应用和应用中用到的数据库连接池。下面以TOMCAT为例进行说明:1、修改[tomcat]/conf/server.xml文件,在行之前插入如下的一段标签:usernamesystempasswordmanagerdriverClassNameoracle.jdbc.driver.OracleDriverurljdbc:oracle:thin:@192.168.0.27:1521:titan以上用粗体表示的部分为应进行修...

润乾报表V3.0在WEB中的使用说明
润乾 报表 企业所得税申报表下载财务会计报表下载斯维尔报表下载外贸周报表下载关联申报表下载 (新版)在WEB中的使用说明1WEB服务器配置使用本报表系统需要在WEB服务器中配置WEB应用和应用中用到的数据库连接池。下面以TOMCAT为例进行说明:1、修改[tomcat]/conf/server.xml文件,在行之前插入如下的一段标签:usernamesystempasswordmanagerdriverClassNameoracle.jdbc.driver.OracleDriverurljdbc:oracle:thin:@192.168.0.27:1521:titan以上用粗体表示的部分为应进行修改的内容。如果在应用中要用到多个数据库,则应重复之间的内容。2、要将相应的数据库JDBC驱动程序包放入[tomcat]/common/lib目录中2WEB应用配置2.1文件部署JAVA类的部署:如果报表系统提供的是jar文件,则将之放在WEB应用的WEB-INF/lib目录中,如果提供的是呈目录结构的class文件,则将com目录和color.properties文件放到WEB应用的WEB-INF/classes目录中。将runqianReport.tld文件放到WEB应用的WEB-INF目录中。将xrq_license.dat文件放到WEB应用的WEB-INF目录中。将runqianReportApplet.jar文件放到WEB应用的根目录中。将lib目录中的以下jar文件复制到WEB-INF\lib目录中:itext_099.jar,iTextAsian.jar,jai_codec.jar,jai_core.jar,jdom.jar,log4j_128.jar,poi.jar。2.2web.xml文件的配置在web.xml文件中要对报表系统中用到的servlet和taglib进行配置,请将报表系统提供的web.xml文件中的内容复制到你的应用的web.xml文件中相应的位置。并对下面这段标签中的相关内容进行修改。com.runqian.report.view.DataServletcom.runqian.report.view.DataServletreportFileHome/reportFilesJNDIPrefixjava:/comp/envdataSourcejdbc/test,oracle,gb2312;jdbc/sw,sqlsvr,iso-8859-1cachedParamsTimeout120cachedReportDirE:\work\report\cachedcachedReportTimeout120logConfig/WEB-INF/runqianReportLog.propertiescertFileC:\DocumentsandSettings\user\.keystore2以上参数说明如下:(1)reportFileHome表示编辑好的报表文件部署的文件夹位置,其值相对于WEB应用根目录。(2)JNDIPrefix表示查找数据源时的环境串前缀,在不同的WEB服务器中不同,如Tomcat中是java:/comp/env,而Weblogic和Websphere中均不需要,可以不填。(3)dataSource表示用户在WEB应用中要用到的数据源配置,其 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 如下:数据源的JNDI名称,数据库类型,数据库字符集编码;[重复]……数据库类型按下表填写:数据库类型参数值数据库类型参数值数据库类型参数值oracleoracleinformixinfmixfoxbasefoxbasdb2db2mysqlmysqlaccessaccesssqlserversqlsvrsqlanywheresqlanysybasesybasefoxprowfoxpro数据库中使用的字符集编码,一般为gb2312或iso-8859-1。第一个数据源配置为应用中的缺省数据源,即如果在报表的数据集定义中没有指定数据源名称,则使用此数据源。(4)cachedParamsTimeout表示提交给报表的参数在缓存中保存的时间,以分钟为单位。如果不设此参数,缺省值是120分。(5)cachedReportDir表示报表缓存的文件夹,如在unix系统中,用户应对此文件夹有写的权限,并根据报表的数量和访问量的大小以及缓存超时的时间,分配一个合理的空间大小。如果不设此参数或设置错误,则采用JDK默认的临时文件夹。(6)cachedReportTimeout表示报表缓存保存的时间,以分钟为单位。如果不设此参数,缺省值是120分。此值应根据实际内存大小、缓存文件夹空间大小来调节,一般在1-3小时之间。(7)logConfig表示报表系统日志记录配置属性文件。如果不设此参数,则日志输出到系统控制台。日志属性文件的配置说明请参照runqianReportLog.properties文件中的说明,或者参考apache的log4j的相关文档。(8)certFile表示使用HTTPS 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 访问报表时,服务器安全证书文件的位置。参数名均为大小写相关,用户必须根据自己应用的实际情况填写相应的参数值。2.3报表缓存配置本系统采用内存敏感型报表缓存设置,就是使用TAG标签发布报表时,将计算出的报表首先保存在内存中,当JAVA虚拟机发现内存余量会影响到系统的效率时,则会将某些缓存的报表从内存中转移到硬盘中我们指定的文件夹中,以释放出充裕的内存供系统使用。报表缓存设置是用上一节的参数(5)和(6)来配置的。当缓存的报表超过保存时间没有被访问时,就会从缓冲池中清除,同时,如果它已被写入到硬盘中,那么也要从硬盘中删除此文件。应用服务器关闭时,缓冲池将不再存在,残留在硬盘中的文件将在应用服务器下次启动时被清除。缓存的报表有什么作用呢?它可供在网页中翻页、打印、存为Excel、存为Pdf或填报提交时从缓冲池中提取已算好的报表,避免再计算一次。提取的过程是这样的:(1)缓存报表还在内存中,直接取出;(2)缓存报表已存到硬盘中,从硬盘中读取出来;(3)报表已被从缓冲池清除,如果TAG中用的是RAQ文件,则重新根据参数计算出一个新的报表,否则显示异常“与服务器的连接超时,请重新访问!”,要求用户刷新页面后再执行这些操作。3TAG及其属性说明3.1html报表html报表在JSP文件中用标签来发布,prefix是用户在JSP文件中指定的前缀名。此标签的属性说明见下表:(属性名都是大小写相关,属性值必须放在双引号中)属性名是否必填属性含义属性取值缺省值浏览式报表和单表填报式报表的公共属性name是报表在网页中的ID标识符合变量命名规则的字符串,在本网页中应是唯一的无srcType否报表源的类型见注1filereportFileName否当报表源类型为file时,要发布的报表文件报表文件名无beanName否当报表源类型为defineBean或reportBean时,已保存到request中的bean的名称符合变量命名规则的字符串,与保存报表源bean时的名称一致无scale否报表缩放显示比例实数1.0funcBarLocation否功能条的位置top,bottom,bothtopseparator否各功能钮间的分隔符html元素或文字空格generateParamForm否是否生成缺省报表参数及宏输入表单yes或nonoconnection否动态数据库连接配置见注2无params否报表所需要的参数见后“报表参数及宏输入”小节无funcBarFontFace否功能条的字体字体名称宋体funcBarFontSize否功能条的字体大小与html文件中定义字体大小相同13pxfuncBarFontColor否功能条的字体颜色html文件中使用的颜色blackfunctionBarColor否功能条背景色html文件中使用的颜色无颜色needSaveAsExcel否需要显示将报表存为Excel的功能钮吗yes或nononeedSaveAsPdf否需要显示将报表存为PDF的功能钮吗yes或nononeedPrint否需要显示打印报表的功能钮吗yes或nonoprintLabel否打印钮外观定义html元素或文字打印printedRaq否被打印的报表文件名,用于打印与显示的报表不是同一张时的情况报表文件名(.raq),相对于reportFileHome无excelLabel否存为Excel钮外观定义html元素或文字存为ExcelpdfLabel否存为PDF钮外观定义html元素或文字存为PDFcanModifyBeforePrint否打印前能修改数据吗yes或nonousePaperSizePrint否yes按报表 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 时的纸张尺寸打印,no采用本TAG标签中指定的width,height值打印yes或noyessaveAsName否报表另存为Excel、PDF或离线填报时的文件名(不用带扩展名)文本与报表同名excelPageStyle否存为Excel时的分页方式,不指定此属性值,则系统弹出对话框让用户选0(不分页)或1(分页)无浏览式报表的属性width否报表分页宽度整数,单位为px报表设计页面宽度height否报表分页高度整数,单位为px报表设计页面高度columns否报表分栏数整数报表设计分栏数needPageMark否是否显示报表页数及翻页功能yes或noyespageMarkLabel否报表页数显示钮的外观定义html元素或文字,用{currPage}表示当前页号,用{totalPage}表示总页数第{currPage}页共{totalPage}页firstPageLabel否翻到第一页的功能钮外观定义html元素或文字最前页prevPageLabel否翻到前一页的功能钮外观定义html元素或文字上一页nextPageLabel否翻到后一页的功能钮外观定义html元素或文字下一页lastPageLabel否翻到最后页的功能钮外观定义html元素或文字最后页displayNoLinkPageMark否是否显示无超链接的页码标识(如第一页时的“最前页”和“上一页”yes或nono单表填报式报表的属性submit否提交按钮外观定义html元素或文字提交needOfflineInput否是否可以离线填报yes或nonooffline否离线保存按钮定义html元素或文字保存到本机needImportExcel否是否可从Excel文件上载数据来填报yes或nonoimportExcelLabel否导入Excel文件按钮定义html元素或文字从Excel导入processor否保存数据前的java预处理类java类名backAndRefresh否提交数据以后,是否返回录入页面并刷新页面yes或noyes注1:srcType的取值:(1)如要发布的报表源为报表文件,其值为file。(2)如要发布的报表源为经过API处理的com.runqian.report.usermodel.ReportDefine对象,则其值为defineBean。(3)如要发布的报表源为经过API处理的com.runqian.report.usermodel.Report对象,则其值为ReportBean。注2:connection属性的格式为:数据源名1=driver,url,user,password,dbType,dbEncode;数据源名2=driver,url,user,password,dbType,dbEncode;……数据源名:报表中的数据集所用的数据源名,“数据源名1”为报表所用的缺省数据源。driver:连接数据库的JDBC驱动程序类名。url:用JDBC连接数据库时的url。user:用JDBC连接数据库时的用户名。password:用JDBC连接数据库时的用户密码。dbType:数据库类型,见上节“数据库类型表”。dbEncode:数据库的字符集编码。3.2多表填报报表多表填报报表在JSP文件中用标签来发布,prefix是用户在JSP文件中指定的前缀名。此标签的属性说明见下表:(属性名都是大小写相关,属性值必须放在双引号中)属性名是否必填属性含义属性取值缺省值name是多表填报报表在网页中的ID标识符合变量命名规则的字符串,在本网页中应是唯一的无sheets是多表的定义见注1无funcBarLocation否功能条的位置top,bottom,bothbottomsubmit否提交按钮外观定义html元素或文字提交needOfflineInput否是否可以离线填报yes或nonooffline否离线保存按钮定义html元素或文字保存到本机saveAsName否另存为离线填报时的文件名(不用带扩展名)文本与name同名params否多表所共同需要的参数见后“报表参数及宏输入”小节无tabBackColor否tab页的背景色html颜色值lightskybluetabHLBackColor否当前tab页的背景色html颜色值peachpufftabFontColor否tab页字体颜色html颜色值yellowtabHLFontColor否当前tab页字体颜色html颜色值redtabFontName否tab页字体名字体名称宋体tabFontSize否tab页字体大小html字体大小表示法15pxborder否报表显示区边框html边框表示法4pxdoublepeachpuffmargin否报表与报表显示区边框的距离整数8separator否各功能钮间的分隔符html元素或文字空格sheetsRelation否多表间数据有效性验证关系见注2无processor否保存数据前的java预处理类java类名backAndRefresh否提交数据以后,是否返回录入页面并刷新页面yes或noyes注1:sheets定义:格式:报表文件名,报表id[,tab页中显示名];报表文件名,报表id[,tab页中显示名];……表1        表2每表定义之间用英文分号隔开,表自身属性之间用英文逗号分开。例子:sheet1.raq,sheet1,学生情况表;jjzj.raq,jjzj,基金增减;sheet3.raq,sheet3注2:sheetsRelation定义:格式:有效性表达式1@提示信息1;有效性表达式2@提示信息2;……有效性表达式中报表单元格表示法:报表id_单元格名,如sheet1_B5有效性表达式必须是合法的javascript表达式。表达式与相应的提示信息之间用@隔开,多条表达式间用英文分号隔开例子:sheet3_a1.length>sheet1_D2.length@sheet3中第一格的值长度必须大于'学生情况表'中'姓名'的长度!;sheet3_b1>jjzj_g8@sheet3中第二格的数值必须大于基金增减表中第一行的上年结余合计!3.3打印模式的报表就是直接在浏览器中以打印预览的方式显示报表。下表中的属性如未说明,则与html报表的相应属性相同。属性名是否必填属性含义属性取值缺省值name是报表在网页中的ID标识符合变量命名规则的字符串,在本网页中应是唯一的无srcType否报表源的类型见注1filereportFileName否当报表源类型为file时,要发布的报表文件报表文件名无beanName否当报表源类型为defineBean或reportBean时,已保存到request中的bean的名称符合变量命名规则的字符串,与保存报表源bean时的名称一致无width否控件的显示宽度整数,单位为px600height否控件的显示高度整数,单位为px480columns否报表分栏数整数报表设计分栏数canModify否能修改数据吗yes或nonogenerateParamForm否是否生成缺省报表参数及宏输入表单yes或nonoconnection否动态数据库连接配置见注2无params否报表所需要的参数见后“报表参数及宏输入”小节无3.4参数表单生成一个输入报表参数进行报表查询的htmlform表单。属性名是否必填属性含义属性取值缺省值name是参数表单form在网页中的ID标识符合变量命名规则的字符串,在本网页中应是唯一的无paramFileName是生成参数表单的RAQ文件名报表文件名,如为""或"null",则不生成表单无resultPage否提交参数后,显示报表结果的页面相对于应用根目录的页面URL当前页面target否显示结果的窗体名与htmlform的target属性取值相同当前窗体,_selfhiddenParams否一些隐含的参数,如登录用户名、用户身份等与3.1中的params取值相同无processor否参数提交时,预先进行一些处理的java类名从com.runqian.report.input.AbstractParamProcessor继承的java类名无needSubmit否是否需要自动生成提交参数的按钮yes或noyessubmitLabel否提交钮的外观定义html元素或文字查询4报表在JSP文件中发布4.1html报表在要发布报表的JSP文件的前面,必须写上下面这一句:<%@tagliburi="/WEB-INF/runqianReport.tld"prefix="report"%>然后在要发布报表的地方用上面介绍的tag标签来发布,如:其中prefix的值可以自己指定,但tag标签中的前缀必须与其保持一致。4.2多表填报报表在要发布报表的JSP文件的前面,必须写上下面这一句:<%@tagliburi="/WEB-INF/runqianReport.tld"prefix="report"%>然后在要发布报表的地方用上面介绍的tag标签来发布,如:其中prefix的值可以自己指定,但tag标签中的前缀必须与其保持一致。4.3打印模式的报表在要发布报表的JSP文件的前面,必须写上下面这一句:<%@tagliburi="/WEB-INF/runqianReport.tld"prefix="report"%>然后在要发布报表的地方用上面介绍的tag标签来发布,如:其中prefix的值可以自己指定,但tag标签中的前缀必须与其保持一致。4.4使用非TAG生成的功能按钮用TAG生成的HTML报表,可以让系统自动生成打印、存为Excel、存为PDF、从Excel导入等功能按钮,其位置固定在功能条中,如果不想使用这些按钮而想用自己在JSP文件中放的HTML元素来实现这些功能,那么让鼠标单击该元素时执行下面的JavaScript函数则可:(1)打印:reportName_print()(2)存为Excel:reportName_saveAsExcel()(3)存为PDF:reportName_saveAsPdf()(4)从Excel导入:reportName_importExcel()reportName是指生成报表时的TAG标签中的name指定的报表ID。4.5填报报表中的自定义数据有效性函数填报报表支持用户在JSP文件中编写自定义的javascript数据有效性验证函数,函数名为“tag中的name_userDefineValidScript()”,当所有数据都满足要求时,此函数返回true,否则返回false。对报表中单元格(html的table的cell)的引用格式为“报表id_单元格名”,其中单元格名必须大写,如“report1_D7”。现举例说明如下:(1)单表填报:,此时自定义函数名为myReport_userDefineValidScript(),对单元格引用方式为“myReport_A1”。(2)多表填报:,此时自定义函数名为mySheets_userDefineValidScript(),对单元格引用方式为“sheet1_A1”、“sheet2_B1”等。4.6自定义填报报表中的编辑器边框缺省的编辑器边框是红色的矩形框,可以采取在JSP文件中报表标签之前设置如下JavaScript变量,来定义编辑器的四个边框样式,取值采用HTML中的边框取值:var_editorBorderLeft="blackthininset";var_editorBorderTop="blackthininset";var_editorBorderRight="cadetbluethininset";var_editorBorderBottom="cadetbluethininset";5报表参数及宏输入5.1Tag中输入参数前面介绍的报表Tag标签中有一个params属性,可以用来为报表输入参数或宏的值。其格式为:参数及宏的个数应该与报表中的参数及宏个数相同,参数名及宏名大小写一致。如果参数值或宏值是变化的,那么应该先在JSP代码中将参数串拼好,再传入Tag中,如下所示:<%Stringparams="param1="value1";param2="value2";"……";macro1="value1……%>"……/>5.2用表单输入参数(1)缺省参数及宏输入表单:根据设置的参数及宏个数,生成相同个数的文本输入框及中文提示,参数值必须用户手动输入,不能下拉选择。要生成此表单只需在tag标签中加入参数generateParamForm="yes"即可。(2)自己编写参数及宏输入表单自己编写的表单是一个html的form元素,其大致如下所示:/setReportParams">性别班级
一班二班
说明:1、form的action必须与此示例相同2、参数个数必须与要显示的报表所设计的参数及宏个数一致(如未输入则使用报表设计时填的缺省值),参数名称也大小写相同3、form中必须有一个隐藏的参数名叫resultPage,其值为相对于应用根目录的报表显示页面路径。5.3用TAG生成参数表单5.3.1一个简单例子假如有一张显示学生成绩的报表,名为student.raq,此报表有三个参数:性别(sex)、班级(class)、出生月份(month)。性别的输入方式为下拉列表框(1代表男,2代表女),班级的输入方式为下拉数据窗口,月份的输入方式为简单输入框。下面我们先来定义一个参数表单:运行报表设计器,新建一张“填报或参数表单”报表,如下图所示:在此报表中,输入参数名标签,删除多余的行列后,如下图所示:使A1、C1、E1单元格的“是否可写”属性为false,将此报表存为studentParam.raq。选中B1单元格,在右边的属性列表中“参数名/JSP引用变量名”填入此格对应的报表参数名sex,如下图所示。同样,对D1填入class,F1填入month。选中B1单元格,点击右键在弹出菜单中选择“数据类型及编辑风格”,在弹出窗口中设置其编辑风格为“下拉列表框”,编辑代码值和显示值如下图所示:选中D1单元格,点击右键在弹出菜单中选择“数据类型及编辑风格”,在弹出窗口中设置其编辑风格为“下拉数据窗口”,编辑各项如下图所示:最后保存此报表,完成参数表单的定制。现在来看如何在网页中发布,如下JSP文件所示:<%@pagecontentType="text/html;charset=gb2312"%><%@tagliburi="/WEB-INF/runqianReport.tld"prefix="report"%>运行结果如下图所示:5.3.2更多TAG属性1、上面例子是参数表单和报表在同一页面中,如果报表结果在另外一个JSP页面中,如在[应用根目录]\myReport\student.jsp中,则应该指定resultPage属性,如下:2、如果想将报表结果在新窗口或框架网页的某框架frame中显示,则应指定target属性,如下3、如果想用一个图片来代替“查询”按钮,则可指定submitLabel属性,如下4、自动生成的提交链接总是位于表单的最下面一行,如果想自定义链接在页面中的位置,需要指定needSubmit="no",然后有两个办法。(1)在JSP文件中指定,如下:
上面红色的部分就是定义查询按钮的,只要鼠标单击时执行_submit(formName)脚本函数即可,函数的参数是参数表单的名字,即中的studentParam,所以也可以将上面的红色部分定义成如下:显示效果如下:(2)在设计参数表单时定义:如下图所示,在参数表单中增加一列,选中G1单元格,设置其数据类型为“HTML文本”,输入其单元格值为:这样也可达到与(1)同样的效果。5.3.3参数提交时的控制如果需要对提交的参数作一些处理,那么可以写一个java类,此类应从com.runqian.report.input.AbstractParamProcessor类继承,并在process()方法中实现你的处理。然后在TAG中指定processor属性为你的java类名,如:在此类中可以直接使用HttpSession对象session,可以获得应用中的数据库连接,可以获得提交的参数,可以增加或修改参数。举例如下:packagetest;importjava.sql.*;importcom.runqian.report.input.*;publicclassMyParamProcessorextendsAbstractParamProcessor{publicbooleanprocess(){//获取登录应用的用户名StringuserId=(String)session.getAttribute("userId");//到数据库查询此用户查看学生成绩的权限,假如查出他只能看男生的成绩booleancanLookupGirlScore=true;Connectioncon=null;try{con=getConnection(); //获取缺省数据库连接//con=getConnection("jdbc/test"); //获取指定数据源名的连接//数据库查询权限,略去canLookupGirlScore=false;}catch(Exceptione){setErrorMsg(e.getMessage());returnfalse;}finally{try{if(con!=null)con.close();}catch(Exceptione){}}StringsexValue=getParamValue("sex"); //获取提交的性别参数if(!canLookupGirlScore&&sexValue.equals("2")){setErrorMsg("你不能查看女生的成绩!");returnfalse;}putParam("userId",userId); //增加一个报表参数userIdputParam("month","2");  //修改提交的出生月份参数为2月returntrue;}}5.3.3.1  com.runqian.report.input.AbstractParamProcessor类的API说明publicclassAbstractParamProcessorimplementsParamProcessor属性:protectedjavax.servlet.http.HttpSessionsession:session对象方法:publicbooleanprocess()说明:参数表单预处理方法,此方法由用户类覆盖,系统调用此方法返回值:满足预处理要求,返回true,由系统继续提交参数;否则返回false,设置不满足信息,由系统负责显示此信息,并终止提交参数publicjava.sql.ConnectiongetConnection()说明:获得WEB应用中的缺省数据库连接publicjava.sql.ConnectiongetConnection(java.lang.String dsn)说明:获得WEB应用中指定数据源名的数据库连接参数:dsn-数据源名publicjava.lang.StringgetParamValue(java.lang.String paramName)说明:获得前端提交的参数值参数:paramName–参数名publicvoidputParam(java.lang.String paramName,java.lang.String paramValue)说明:获得前端提交的参数值参数:paramName–参数名paramValue–参数值  publicvoidsetErrorMsg(java.lang.String msg)说明:设置不满足预处理要求时的错误信息参数:msg - 错误信息5.3.4隐含参数的传递WEB中一般有一些全局的变量,如登录用户名、用户角色等,而在报表中可能会用到这些作为参数值,那么在用参数表单时怎么将这些值传进去呢?这时一种办法是可以通过设置hiddenParams属性来处理,例如:<%StringuserId=(String)session.getAttribute("userId");Stringrole=(String)session.getAttribute("userRole");StringhiddenParams="userId="userId";userRole="role;%>另一种办法是在上小节中介绍的预处理中添加参数。5.3.5参数有效性验证在参数提交以前,一般希望对参数的有效性进行一些检验,这可以在参数表单的设计时进行定义。例如在前面的例子中,如果我们要求出生月份必须介于1和12之间,选中单元格F1,单击右键在弹出菜单中选择“填报属性”,在弹出窗口中选择“数据校验”,并增加一条如下图所示。校验公式应该遵循JavaScript的语法和函数规则。并在右边的属性列表“填报数据类型”中选择“整数型”。6对HTML报表单元格值的引用在报表编辑器中,选定某不可扩展单元格,在其“参数名/JSP引用变量名”属性中填入要在JSP文件中引用此单元格值的变量名(大小写相关)。在JSP文件中可有两种使用方法(假如变量名为myVar):(1)在JSP代码中引用:<%StringmyVar=request.getAttribute("myVar");%>(2)使用tag标签引用:两种引用方式均需在报表标签之后方可有效,或因报表分页之后,要引用的单元格不在此页中,引用的值将会是null。7填报数据保存前的预处理对于填报式报表,系统为程序员提供数据保存前的预处理接口,即用tag标签中processor属性指定一个java类名,此java类必须从com.runqian.report.input.AbstractProcessor类继承,并覆盖其中的process()方法,预处理的代码都写在此方法中,如满足预处理的要求,则返回true,否则返回false,并设置相应的信息。如果没有指定processor属性,则不做任何预处理,直接保存数据。预处理类中可以使用HttpSession对象、获得数据库连接、获得前端提交的数据,因此可以检查用户登录信息、操作权限、数据有效性或其他信息。详细例子请参见后文“示例”一节。下面是com.runqian.report.input.AbstractProcessor类的API文档:publicclassAbstractProcessorimplementscom.runqian.report.input.InputProcessor属性:protectedjavax.servlet.http.HttpSessionsession:session对象protectedjava.lang.StringtableId多表填报时,当前要保存的报表在网页中的ID名方法:publicbooleanprocess()说明:填报预处理方法,此方法由用户类覆盖,系统调用此方法返回值:满足预处理要求,返回true,由系统继续保存数据;否则返回false,设置不满足信息,由系统负责显示此信息,并终止保存数据publicjava.sql.ConnectiongetConnection()说明:获得WEB应用中的缺省数据库连接publicjava.sql.ConnectiongetConnection(java.lang.String dsn)说明:获得WEB应用中指定数据源名的数据库连接参数:dsn-数据源名publicjava.lang.StringgetCellData(java.lang.String cellName)说明:获得前端提交的报表单元格数据参数:cellName-报表单元格名称,如A1,B2等publicvoidsetErrorMsg(java.lang.String msg)说明:设置不满足预处理要求时的错误信息参数:msg - 错误信息8示例8.1由文件直接发布报表8.1.1html报表<%@pagecontentType="text/html;charset=gb2312"%><%@tagliburi="/WEB-INF/runqianReport.tld"prefix="report"%>8.1.2单表填报报表<%@pagecontentType="text/html;charset=gb2312"%><%@tagliburi="/WEB-INF/runqianReport.tld"prefix="report"%>test.MyProcessor1.java:packagetest;importjava.sql.*;importcom.runqian.report.input.*;publicclassMyProcessor1extendsAbstractProcessor{publicbooleanprocess(){//检查用户是否登录StringuserId=(String)session.getAttribute("userId");if(userId==null){setErrorMsg("您还没有登录!");returnfalse;}//检查是否有权限录入数据Connectioncon=getConnection();Statementstmt=null;try{Stringsql="select*frominputUserwhereuserId='"userId"'";stmt=con.createStatement();ResultSetrs=stmt.executeQuery(sql);if(!rs.next()){setErrorMsg("您没有录入数据的权限!");returnfalse;}}catch(Exceptione){setErrorMsg(e.getMessage());returnfalse;}finally{try{if(stmt!=null)stmt.close();if(con!=null)con.close();}catch(Exceptione){}}//取某单元格数据StringcellData=getCellData("D2");System.out.println(cellData);if(cellData==null||cellData.trim().length()<3){setErrorMsg("姓名必须由3个以上字符组成!");returnfalse;}returntrue;}}8.1.3多表填报报表<%@pagecontentType="text/html;charset=gb2312"%><%@tagliburi="/WEB-INF/runqianReport.tld"prefix="report"%>|<
本文档为【润乾报表V3.0在WEB中的使用说明】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_686908
暂无简介~
格式:doc
大小:195KB
软件:Word
页数:56
分类:
上传时间:2022-08-04
浏览量:24