FisherGrid使用说明.doc_第1页
FisherGrid使用说明.doc_第2页
FisherGrid使用说明.doc_第3页
FisherGrid使用说明.doc_第4页
FisherGrid使用说明.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

FisherGrid 使用说明使用说明 刘辉刘辉 2008 年年 8 月月 V2 8 FisherGrid使用说明 让 Java 软件开发变得更加容易 1 目目 录录 1 背景背景 3 2 显示效果显示效果 3 3 功能介绍功能介绍 3 4 设计思路设计思路 4 5 依赖组件依赖组件 5 6 详细使用步骤详细使用步骤 6 7 FISHERGRID 系统配置文件系统配置文件 FISHER PROPERTIES 详解详解 9 8 GRID 的的 XML 配置文件结构详解配置文件结构详解 11 8 1元素参考元素参考 11 8 2ID元素属性参考元素属性参考 12 8 3CHECKBOX元素属性参考元素属性参考 12 8 4POSITION元素属性参考元素属性参考 12 8 5COLUMN元素属性参考元素属性参考 12 9 常用常用 JAVASCRIPT 函数接口规范函数接口规范 13 9 1RENDERER函数函数 13 9 2BUTTON的的ONCLICK函数函数 14 10 常用常用 JAVASCRIPT 函数一览函数一览 14 11 常用常用 JSP 自定义自定义 TAG 详解详解 14 11 1TAG参考参考 14 FisherGrid使用说明 让 Java 软件开发变得更加容易 2 11 2GRID属性参考属性参考 15 11 3SELECT属性参考属性参考 17 11 4SEPARATOR属性参考属性参考 17 11 5BUTTON属性参考属性参考 17 11 6QUERY属性参考属性参考 17 11 7EXPORT属性参考属性参考 17 11 8HEAD属性参考属性参考 18 12 系统扩展点系统扩展点 18 13 附录附录 18 13 1如何在如何在ECLIPSE中注册中注册XSD文件实现编写文件实现编写XML文件时有代文件时有代 码提示码提示 18 13 2XML 配置文件生成工具配置文件生成工具 19 13 3如何修改枚举值的选择值方式如何修改枚举值的选择值方式 20 13 4COLUMN中的中的NAME FIELD DISPLAY的区别的区别 20 13 5如何支持单一系统多数据库如何支持单一系统多数据库 21 13 5 1方式一 21 13 5 2方式二 22 13 6如何扩展主题如何扩展主题 22 FisherGrid使用说明 让 Java 软件开发变得更加容易 3 1 背景背景 列表页面几乎是所有信息化系统都会使用的页面 然而公司没有一套统一 的列表页面显示规范 并且制作一个列表页面也是比较复杂 耗时 功能不全 面的工作 此组件就是为了提供一个统一的列表样式 功能丰富 制作简单的 列表而设计 开发而成 2 显示效果显示效果 在线演示地址 http 192 168 0 110 8080 FisherGrid 如果服务器没有启动 请通知我 3 功能介绍功能介绍 1 支持服务器端排序 2 支持数据库和游标服务器端分页 3 可动态选择分页大小 4 支持 ajax 的数据加载 翻页 刷新数据不刷新页面 5 动态显示列 6 拖拉列位置 7 动态调整表格的长宽 FisherGrid使用说明 让 Java 软件开发变得更加容易 4 8 动态调整列的宽度 9 表格可以收缩 10 可以设置各个列的查询条件 11 上下滚动可以固定表格标题 12 支持全选按钮 13 支持单选每列 14 支持多种事件接口 15 转换任意的 table 为 Grid 16 ajax 的数据加载支持常用的几种数据类型 xml json 17 很酷的主题 18 支持导出 excel 等 19 支持 SQL 和 HQL 20 支持合计 21 多主题支持 换皮肤 22 多数据库动态切换支持 23 4 设计思路设计思路 本 Grid 是基于 flexigrid Jquery 的一个插件 进行后台扩展而成 总体设计思路 是开发人员配置要显示的列和查询的 SQL 语句 通过使用 jsp 自定义 Tag 来创建 Grid Grid页页面面 jsp标标签签Tag 字字段段内内容容格格 式式化化器器Form atter 配配置置解解析析器器P arser 数数据据库库连连接接 提提供供者者Conne ctionProvide r 字字段段类类型型过过 滤滤器器Column Filter 字字段段查查询询条条 件件Condition Grid模模板板 ftl SQL构构造造器器S QLBulder 查查询询器器Query 浏浏览览器器 fisher配配置置 x ml FisherGrid架架构构图图 数数据据库库分分页页 器器Pager SQL方方言言 Dialect FisherGrid使用说明 让 Java 软件开发变得更加容易 5 FisherGrid 架构图 FisherService 列列信信息息配配置置 Grid模模板板文文件件 ParserConnectionProviderColumnFilterSQLBuilderFormatter Condition Query Data jsp Model Tag FisherGrid 总体设计结构图 类 资源功能描述 Tag 页面开发人员的入口 通过自定义的 tag 生成 Grid Model Grid 的模型对象 Grid模板文件模板文件Grid 的模板文件 目前采用 freemarker 作为 Grid 的模板 Data jsp 服务端 JSON 格式的查询结果生成入口 FisherService 组件对外提供的服务的总入口 Formatter 不同类型的字段格式化器 在返回结果给 Grid 之前格式 化内容 Parser 配置资源解析器 目前默认实现的是根据 xml 配置文件 ConnectionProvider 数据库连接提供者 提供数据库连接信息 目前默认的提 供是配置 jdbc 链接信息获取连接 ColumnFilter 字段过滤条件 不同的字段类型对应不同的过滤条件 Condition 字段过滤条件项目 对应过滤条件中的某一个条件项目 SQLBuilder SQL 构造器 目前默认的是解析 from where order 部 分然后替换组装的 所以不支持复杂的查询 例如嵌套查 询 union 查询等 Query 查询器 执行分页查询 5 依赖组件依赖组件 1 Jquery 2 Flexigrid 3 Digester FisherGrid使用说明 让 Java 软件开发变得更加容易 6 4 Freemarker 5 Sojo 6 Log4j 7 Beanutils 8 Collections 9 Chardet 10 SkyCommon 11 Hsqldb 可选 运行示例需要 12 Hibernate3 可选 如果使用 HQL 需要 6 详细使用步骤详细使用步骤 1 将 WebRoot WEB INF lib 下面的 jar 包复制到工程的 WebRoot WEB INF lib 中 2 将 WebRoot 下的 fisher 文件夹复制到工程的 WebRoot 根目录下 注意文件 夹名称和结构一定要正确 3 复制 fisher properties 也可以放置到 webroot 的根目录 和 log4j properties 到 classpath 默认包 4 配置 FisherGrid 系统配置 具体配置请参考 FisherGrid 系统配置文件 fisher properties 详解 5 配置 xml 配置文件 具体配置请参考 Grid 的 Xml 配置文件结构详解 可以 放置到 webroot 或者 classpath 中都可 优先找 webroot 例如 test fisher demo demo xml 配置文件如下 SELECT U D NAME FROM T USER U T DEPARTMENT D WHERE U DEPARTMENT D ID ORDER BY U NAME 6 编写 jsp 页面显示 Grid 例如 WebRoot test fisher jsp 文件如下 Fisher Grid演示 function onDoAdd name grid window open fisher jsp function onDoDelete name grid var items fisherGetSelectedValues if items length 0 alert 请选择要删除的项目 else FisherGrid使用说明 让 Java 软件开发变得更加容易 8 if confirm 你确实要删除选中的项目吗 alert 删除 items function onDoRefresh name grid fisherReload function onDoNameRenderer tdDiv pid tdDiv html tdDiv html FisherGrid使用说明 让 Java 软件开发变得更加容易 9 7 FisherGrid 系统配置文件系统配置文件 fisher properties 详解详解 配置项默认值说明 CacheModelsEnabledtrue是否开启列表配置缓存功 能 此处的缓存是缓存列 表 Xml 配置文件 DefaultThemedefault默认主题 SQLBuildercom sky fisher builder Defa ultSQLBuilder 简单 SQL 构 造器 SQL 语句构造器 Parsercom sky fisher parser Defa ultParser XML 配置文件解 析器 配置解析器 Separator query and 英文井号多个查询字段名称以及对 应值的与 and 分隔符配置 的名称 Separator query or 英文下划线多个查询字段名称以及对 应值的或 or 分隔符配置 的名称 Separator query bracket s left 英文左括号多个查询字段名称以及对 应值的左括号 分隔符配 FisherGrid使用说明 让 Java 软件开发变得更加容易 10 置的名称 Separator query bracket s right 英文右括号多个查询字段名称以及对 应值的右括号 分隔符配 置的名称 Separator query value 英文逗号多个动态查询 SQL 名称 以及对应值的分隔符配置 的名称 Separator dynamic 英文井号同一个字段多个值之间的 分隔符配置的名称 Separator dynamic prefi x 中文左大括号动态 SQL 参数前缀分隔 符配置的名称 Separator dynamic suffix 中文右大括号动态 SQL 参数后缀分隔 符配置的名称 Separator export column 英文逗号导出按钮设置包含和排除 字段之间分隔符配置的名 称 Separator dialect metho d open 英文中括号数据库函数方言方法开始 符号 Separator dialect metho d close 英文中括号数据库函数方言方法截止 符号 Exporter 导出类型 com sky fisher exporter De faultExporter 导出器 导出器 为不同的导出结 果增加导出器 Filter 字段类型名 字段过滤器 为不同字段 类型增加查询过滤条件 Formatter 格式化器名 com sky fisher filter String ColumnFilter 字符格式化 字段格式器 为返回的数 据库查询结果的不同字段 类型进行格式化 Dialect 方言名 数据库函数方言 为不同 数据库函数差异进行配置 DataSource pagercom sky fisher db DefaultPager 使用连接自带 的分页 数据源分页器 数据源特 定分页函数的设置 DataSource providercom sky fisher db DefaultC onnectionProvider 简单的 JDBC 连接和关闭 数据源提供者 数据库连 接提供和关闭提供者 DataSource 参数名 数据源提供者需要的一些 参数配置 不同数据源提 FisherGrid使用说明 让 Java 软件开发变得更加容易 11 供者自己定义 8 Grid 的的 Xml 配置文件结构详解配置文件结构详解 Schema 定义结构图 8 1元素参考元素参考 元素名称必填说明 grid是表格根元素 FisherGrid使用说明 让 Java 软件开发变得更加容易 12 id是表格行标识 columns是表格所有列 checkbox否表格 checkbox 选择列 position否表格列序号 column是表格列 sql是表格对应的查询 SQL parameter否参数 对应不同元素支持传递不同参数 8 2Id 元素属性参考元素属性参考 属性名称必填属性类型说明 field是String行标识对应的查询字段 有表名前缀的一定要带上 表名前缀 8 3checkbox 元素属性参考元素属性参考 属性名称必填属性类型说明 name否Stringcheckbox 选择列的属性名称 display否Stringcheckbox 选择列的列标题名称 8 4position 元素属性参考元素属性参考 属性名称必填属性类型说明 name否String序号位置的属性名称 display否String序号位置的列标题名称 8 5column 元素属性参考元素属性参考 属性名称必填属性类型说明 name是String字段对应的属性名称 字段别名 对数据库 字段进行的解耦映射 前台传递参数等都使 用这个名称 field是String字段名称 有表名前缀的一定要带上表名前 缀 实际物理数据库查询的字段 可以带表 达式 type否String字段类型 默认为 string 所有支持的字段类 型需要根据 Fisher 配置文件中的配置项 type 字段类型名 中的字段类型名 display是String字段显示列标题 sortable否boolean字段是否支持排序 默认值为 true hide否boolean字段默认是否隐藏 默认值为 false width否int字段列宽度像素值 默认值为 50 align否String字段对齐方式 默认为 center 支持 FisherGrid使用说明 让 Java 软件开发变得更加容易 13 left center left 三种 renderer否String字段在前台显示的时候自定义显示的函数名 称 formatter否String字段查询结果格式化器 默认不格式化 所 有支持的格式化器根据 Fisher 配置文件中的 配置项 formatter 格式化器名 中的格式 化器名 defaultSort否boolean是否默认排序列 默认值为 false 如果指定 了多个默认排序列 则以第一个为准 如果 任何排序列都没有指定 则默认按照 id 元素 列的降序排列 defaultSortOrder否String默认排序列的排序方式 默认为 asc 支持 asc desc searchable否boolean是否可以检索 默认是 true visual否boolean是否可见 默认为 true 注意这个与 hide 的 区别 hide 的还是可以通过选择显示 visual 的永远都不会显示 sumable否boolean是否合计 默认为 false 合计列的字段类型 必须为可以合计的类型 例如 int long flot money 等 有设置任何一个合计 列则会自动在最后插入一行合计行 合计行 的 id 为 1 获取选中的值时已经过滤掉合计 行 注意 在合计列上面自定义的 rendner 不会 执行 scaleble否boolean是否比例 默认为 false 比例列的字段类型 必须为可以比例的类型 例如 int long flot money 等 比例是相对于当前分 页的比例 9 常用常用 javascript 函数接口规范函数接口规范 使用 FisherGrid 过程中经常需要自定义的函数 9 1Renderer 函数函数 方法说明 字段前台显示时提供给使用者自定义显示内容的函数 方法名称 on 字段属性名称 renderer FisherGrid使用说明 让 Java 软件开发变得更加容易 14 参数 参数名称参数类型说明 tdDivdiv 对象当前行所在列的 div 对象 一般修改内容可以通过 tdDiv html 其中 部分为你需要修改后的 html 语句 tdDiv html 可以获取未修改之前的原 始内容 pidstring当前行标识 id 值 一般情况就是查询中的主键 根据 xml 配置中的 id 元素中的 field 内容确定 返回值 无 9 2Button 的的 onclick 函数函数 方法说明 Button 标签中的 onclick 事件执行的动作函数 方法名称 onDo 按钮名称的英文描述 参数 参数名称参数类型说明 namestring按钮名称 gridgrid 对象当前 grid 对象 返回值 无 10 常用常用 javascript 函数一览函数一览 常用 javascript 函数都在 fisher js 文件中 详细内容请参考此文件对应方法的注释 1 fisherSelectAll name grid 全选 全不选 2 fisherShowQuery name grid 显示和隐藏查询表格 3 fisherDefaultRenderer tdDiv pid 默认 Renderer 带提示信息 4 fisherGetSelectedValues 获取选中的值 5 fisherSearch 查询 6 fisherClearCondition 清除查询条件 7 fisherReload 重载数据 8 fisherValidatorCondition 校验查询条件 9 fisherExport 导出数据 FisherGrid使用说明 让 Java 软件开发变得更加容易 15 11 常用常用 Jsp 自定义自定义 tag 详解详解 11 1 Tag 参考参考 tag 名称说明 grid列表 head头内容 引入 grid 需要的 js css 文件 select全选按钮 separator按钮分隔条 button按钮 query查询按钮 export导出按钮 11 2 grid 属性参考属性参考 属性名称类型模板中默认值说明 namestringGrid 的全名称 titlestring标题 如果有设置导入按 钮 则也会作为导入的标 题 heightint auto 高度 像素类型 为 auto 则根据内容多少自动设置 widthint auto 宽度 像素类型 为 auto 则根据内容多少自动设置 minheightint30最小高度 像素类型 minwidthint80最小宽度 像素类型 stripedboolea n true是否有水平斑马线 novstripeboolea n false是否没有垂直平斑马线 resizableboolea n true是否可以调整大小 urlstring数据 url methodstringPOST远程调用方法 POST GET dataTypestringjson远程调用返回数据类型 errormsgstring连接错误远程调用错误提示信息 usepagerboolea n true是否使用分页 FisherGrid使用说明 让 Java 软件开发变得更加容易 16 nowrapboolea n true列数据是否不换行 pageint1默认当前页数 totalint1默认总页数 useRpboolea n true是否使用分页大小选择 rpint10当前分页大小 rpOptionsstring 10 15 20 25 30 35 40 分页大小选择项 以中括 号包围 中间的分页大小 用英文逗号分割 例如 5 10 15 20 25 30 35 40 pagestatstring显示 from to 共 total 条记录 页面状态提示信息 from 起始条数 to 终止条数 total 总条数 procmsgstring正在处理中 请稍侯 正在处理提示信息 nomsgstring没有记录没有记录提示信息 queryValuestring快速查询默认值 多个字 段以 号或者 号分隔 后面的字段为与逻辑 后面的字段为或逻辑 默认为 每个字段多 值以英文逗号分隔 此值 会依次从 request parameter request attribute session attribute application attribute 字面常量搜索 queryColumnstring快速查询默认字段名称 多个字段名称以 号或 者 号分隔 后面的 字段为与逻辑 后面的 字段为或逻辑 默认为 dynamicValuestring动态 SQL 值 多个字段 以 号分隔 每个字段 FisherGrid使用说明 让 Java 软件开发变得更加容易 17 多值以英文逗号分隔 此 值会依次从 request parameter request attribute session attribute application attribute 字面常量搜索 dynamicColumnstring动态 SQL 字段名称 多 个字段名称以 号分隔 queryBreakint3查询条件显示列数目控制 minColToggleint1最小列 showToggleBtnboolea n true是否显示选择显示列按钮 hideOnSubmitboolea n true是否提交后隐藏 autoloadboolea n true是否自动加载 blockOpacityfloat0 5滚动透明度 onToggleColstringfalse滚动列执行的方法 onChangeSortstringfalse修改排序执行的方法 onSuccessstringfalse远程调用成功执行的方法 onErrorstringfisherDefaultOnError远程调用失败执行的方法 onSubmitstringfisherDefaultOnSubmit提交执行的方法 showTableToggleBt n boolea n false是否显示 table 折叠 展开 按钮 singleSelectboolea n false是否单选 defaultDisplayQueryboolea n false默认是否显示查询条件 11 3 select 属性参考属性参考 属性名称类型默认值说明 namestring选择按钮名称 11 4 separator 属性参考属性参考 属性名称类型默认值说明 11 5 button 属性参考属性参考 属性名称类型默认值说明 FisherGrid使用说明 让 Java 软件开发变得更加容易 18 namestring按钮名称 styleClassstringfisherCommonButton按钮样式 onclickstring按钮点击执行的动作名称 11 6 query 属性参考属性参考 属性名称类型默认值说明 namestring按钮名称 styleClassstringfisherCommonButton按钮样式 11 7 export 属性参考属性参考 属性名称类型默认值说明 namestring按钮名称 有多个导出按钮时 名称必须唯一 styleClassstringfisherCommonButton按钮样式 typestringexcel导出类型 includeColumnsstring包含字段 多个字段以英文逗 号分隔 excludeColumn s string排除字段 多个字段以英文逗 号分隔 11 8 head 属性参考属性参考 属性名称类型默认值说明 themestringdefault列表主题设置 12 系统扩展点系统扩展点 1 SQL 构造器 SQLBuilder 继承 AbstractSQLBuilder 并修改配置文件 fisher properties 中的 SQLBuilder 为扩展的类 2 配置解析器 Parser 继承 AbstractParser 并修改配置文件 fisher properties 中的 Parser 为扩展的类 3 导出器 Exporter 继承 AbstractExporter 并修改配置文件 fisher properties 中的 Exporter 为扩展的类 4 字段格式化器 Formatter 继承 AbstractFormatter 并修改配置文件 fisher properties 中的 Formatter 格式化器名 为扩展的类 5 字段类型及条件过滤器 ColumnFilter 继承 AbstractColumnFilter 并修改配置 文件 fisher properties 中的 Fype 字段类型名 为扩展的类 6 数据库连接提供者 ConnetionProvider 继承 AbstractConnectionProvider 并修 FisherGrid使用说明 让 Java 软件开发变得更加容易 19 改配置文件 fisher properties 中的 DataSource provider 为扩展的类 7 查询器 Query 继承 AbstractQuery 并在 ConnetionProvider 的 getQuery 中指 定当前 ConnetionProvider 使用的 Query 8 分页器 Pager 继承 AbstractPager 并修改配置文件 fisher properties 中的 DataSource pager 为扩展的类 9 数据库方言 Dialect 继承 AbstractDialect 并修改配置文件 fisher properties 中的 Dialect 方言名 为扩展的类 13 附录附录 13 1 如何在如何在 eclipse 中注册中注册 xsd 文件实现编写文件实现编写 xml 文件时有代码提示文件时有代码提示 1 打开 Eclipse 参数设置 Menu Windows Preferences MyEclipse 是 在 MyEclipse Editors 下面 我们选则 New 2 在对话框中输入 URL MyProject WebContent META INF Fisher 1 0 xsd 我这里假设我的 Fisher 1 0 xsd 放在我的项目 名叫 MyProject 的 MyProject WebContent META INF 目录下 Key Type FisherGrid Key FisherGrid FisherGrid Configuration XSD 1 0 EN 这里的 Specific alternative web address 可以用在当你新建一个 XML 文件 时选中 创建 XML 根据 XML DTD Schema 创建 取个名字 从 XML Catalog Entry 中选取 DTD XSD 这个时候编辑器会自动填充 DTD Schema 声明 3 确定添加 注册完成 然后 点下面的 Advanced Export 导出到 MyProject WebContent META INF xmlcatalog 现在我把这个提交到 CVS 上去 其他同事就可以下载下来 再导入使用了 因为我们这里放置在项 目中的一个相对位置 便于拷贝工作区 导入导出项目 CVS 共享 4 你也可以建立一个 Plug in 项目 然后 打开 plugin xml 添加下面这个条目 并且拷贝一个 hibernate configuration 3 0 dtd 放在项目的 dtds 文件夹下 FisherGrid使用说明 让 Java 软件开发变得更加容易 20 这样你就可以导出这个 Plug i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论