欢迎来到微传网! | 帮助中心 分享文档,创造价值!
微传网
全部分类
  • 办公文档 >
    办公文档
    往来文书 招标投标 传真信函 解决方案 事务文书 活动策划 股份制文书 调研文书 规章制度 统计图表 PPT模板素材 工作计划 工作总结 会议纪要 产品手册 课程设计 求职简历 通知/申请 演讲致辞 说明文书 词典 简明教程 办公软件应用 教育范文
  • 中学教育 >
    中学教育
    中学课件 中考 高考 中学作文 职业教育 试题 教学研究 竞赛题 高考英语 初中教育 高中教育 体育理论与教学 中学实验 音乐美术
  • 幼儿/小学教育 >
    幼儿/小学教育
    幼儿教育 小学课件 学习方法 课外知识 爱心教育 教育管理 小学教育
  • 高等教育 >
    高等教育
    研究生课件 大学课件 理学 工学 哲学 历史学 教育学 农学 思想政治 专业基础教材 生物学 语言学 微积分 统计学 实验设计 科普读物
  • 论文 >
    论文
    期刊/会议论文 开题报告 经济论文 管理论文 社科论文 文学论文 医学论文 哲学论文 艺术论文 法律论文 自然科学论文 通讯论文 论文指导/设计 毕业论文 大学论文
  • 管理/人力资源 >
    管理/人力资源
    经营企划 销售管理 代理连锁 工程管理 信息管理 资本运营 企业信息化 市场营销 广告经营 项目管理 营销创新 招聘面试 人事档案 员工关系 企业文化 宣传企划 企业文档 公司方案 商业合同 财务报表 励志书籍工具 咨询培训 劳动就业 商务礼仪 地方省市劳动合同 管理学资料 创业
  • 经济/贸易/财会 >
    经济/贸易/财会
    经济学 财政/国家财政 商品学 市场分析 进出口许可 贸易 网络营销/经济 税收 稽查与征管/审计 资产评估/会计
  • IT计算机 >
    IT计算机
    计算机原理 PHP资料 linux/Unix相关 C/C++资料 Java .NET windows相关 开发文档 管理信息系统 软件工程 网络信息安全 网络与通信 图形图像 行业软件 人工智能 计算机辅助设计 多媒体 软件测试 计算机硬件与维护 网站策划/UE 网页设计/UI 网吧管理 电子支付 搜索引擎优化 服务器 电子商务 Visual Basic 数据挖掘与模式识别 数据库 Web服务 网络资源 Delphi/Perl Python CSS/Script Flash/Flex 手机开发 UML理论/建模 并行计算/云计算 嵌入式开发 计算机应用/办公自 数据结构与算法 SEO
  • 资格/认证考试 >
    资格/认证考试
    全国翻译资格认证 自考 成考 专升本考试 公务员考试 思科认证 微软认证 司法考试 教师资格考试 物流师考试 计算机等级考试 注册税务师 人力资源管理师 会计职称考试 出国培训 质量管理体系认证 医师/药师资格考试
  • 行业资料 >
    行业资料
    社会学 纺织服装 食品饮料 家电行业 造纸印刷 酒店餐饮 物流与供应链 交通运输 旅游娱乐 文化创意 航空/航天 船工业技术 矿业工程 石油、天然气 工业冶金工业 金属学与金属工艺 武器工业 能源与动力工程 原子能技术 化学工业 轻工业/手工业 水利工程 农业工程 农作物 园艺 林业 畜牧 水产/渔业 展会 生活用品 航海/船舶 家居行业 实验 工业设计 室内设计 系统集成 国内外标准规范 新闻/广播 公共安全/安全评价
  • 金融/证券 >
    金融/证券
    股票中长线技巧 股票短线技巧 股票经典资料 股票技术指标学习 金融资料 财经资料 投融资/租赁
  • 研究报告 >
    研究报告
    信息产业 金融 教育 农林牧渔 冶金 石油化工 煤炭 交通 新能源 轻工 产业政策 商业贸易 国防军事 技术指导 安防行业 制药行业 统计年鉴/数据分析
  • 换一换
    首页 微传网 > 资源分类 > DOC文档下载
     

    FreeMarker文档生成技术在毕业设计管理系统中的应用.doc

    • 资源ID:1831       资源大小:838.50KB        全文页数:13页
    • 资源格式: DOC        下载权限:游客/注册会员/VIP会员    下载费用:10金币 【人民币10元】
    快捷注册下载 游客一键下载
    会员登录下载
    三方登录下载: 微信登录 微信开放平台登录 QQ登录  
    下载资源需要10金币 【人民币10元】   |   1元文档测试下载
    邮箱/手机:
    温馨提示:
    支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

    FreeMarker文档生成技术在毕业设计管理系统中的应用.doc

    FreeMarker 文 档 生 成技 术 在 毕 业设 计 管 理 系 统 中 的应 用 周建锋 天 津 理工 大 学中 环 信息 学 院计 算 机工 程 系 摘 要 FreeMarker 是一种使用 Java 语言编写的模板引擎框架技术。 使用该技术构建了 一种模板样式与模型数据相互分离的 Word 文档动态生成方案。该方案应用于毕 业设计管理信息系统,可以在线生成选题审批表、任务书、开题报告、中英文摘 要、论文扉页等具有固定结构的 Word 文档。实践证明,该方案代码量少,文档内 容及样式控制方便, 保证了毕业设计相关文档格式的高度一致性。 关键词 FreeMarker; 模板技术; Word 自动生成; 毕业设计管理; 作 者简 介 周建锋1983-,男,天津人,硕士,天津理工大学中环信息学院计算机 工程系讲师,研究方向为软件工程、系统分析与设计。 基 金 天津理工大学中 环信息学院青年教师科研育苗基金项目KYLG04 0 引言 随着教育信息化的发展,众多高校将计算机技术应用于日常教学管理中[1] 。毕 业设计 论文是高校实现人才培养目标的重要实践教学环节,应充分利用先进的 信息技术提高管理效率,从而提高毕业设计质量。笔者为天津理工大学中环信息 学院设计开发了一个基于 B/S 架构的毕业设计管理信息系统[2] ,系统使用 Java Web 技术实现,采用基于组件式开发的MVCModel View Controller 设计模式[3] , 高效实现了毕业设计信息化、规范化管理。系统中涉及的所有基础性数据如学 生信息、指导教师信息、题目信息等以及毕业设计过程中师生在线填写的各类 文档都持久化存储在对应的 MySQL 数据库表中。 但是,诸如选题审批表、 任务书、 开题报告、提交审核表等文档仍需要打印纸质版后由学生或指导教师签字,这些 纸质版文档或者要求院系存档,或者需要装订在毕业设计说明书论文中。如何 将MySQL 中的相关数据导出并生成符合格式规范要求的Word 文档,成为毕业设计 管理信息系统必须实现的一项功能。本文选用基于 FreeMarker 模板引擎技术构 建了一种模板样式与模型数据相互分离的 Word 文档动态生成方案,通过较少的 代码量就可以满足毕业设计管理信息系统中的文档导出需求。 1 相关技术介绍 1.1 FreeMarker FreeMarker 是使用纯 Java 编写的一款模板引擎,即一种基于模板、用于生成输 出文本HTML 、XML、RTF、Java 源代码等的通用工具[4] 。FreeMarker 不是面 向最终用户的,而是一个 Java 类库,适合作为嵌入其它开发产品中的一 个组件, 其最初设计被用来在 MVC 模式的Web 开发框架中生成 HTML 页面,但它不依赖于 Servlet 、HTML 或Web 环境,仅仅专注于展示数据,与具体的程序逻辑相分离。 它 的核心原理是模板 数据模型输出。 首先,FreeMarker 拥有功能强大的模板语言 FreeMarker Template Language, 简称FTL, 包含了诸如include、 if/elseif/else 、 循环结构等常用指令,在模板中创建和改变变量,并且能够在任 何地方使用复杂表达式来指定值。其次,FreeMarker 具有通用的数据模型,它不 是直接反射到Java 对象,而是通过插件式对象封装,以变量方式在模板中显示 Java 对象。 1.2 Word 对XML 的 支持 微软从Office Word 2003 就开始针对XML 进行了完整设计,支持称为 Word 标记 语言的原生XML 词汇,使Word 文档可以和XML 文档相互转换[5] 。 开发者可建立 这种XML 和可编程代码来增强 Word 文档,并帮助用户建立和修改文档。 常见的WordXML 格式标签示例如下表示 Word 文档中的段落,和 html 中的标签类似; 表示一个样式串,指明它包括的文本显示样式,如文本属性加 粗、下划线等; 表示Word 里的字符串, 即文字内容;Word 段落属性包含在标签中; 标签中定义文本格式。 2 系统数据模型 在毕业设计管理信息系统中,具有固定结构和格式规范要求的文档有封皮、 扉页、 选题审批表、 任务书、 开题报告、 中期检查表、 中英文摘要、 提交审核表和装订 审批表等。这些文档结构和格式固定,其中有一部分文档内容由用户在毕业设计 中通过网络在线提交并持久化至系统数据库。本文简要 介绍系统数据库,然后以 开题报告为例说明如何准备模型数据。 2.1 系统 数据库 系统使用MySQL 数据库,主要涉及的数据库表有 adminuser管理员表、 teacher 教师表、stu学生表、syear学年表、dept部门表、major专业 表、rank 职称表 、ttask教师任务表、project 题目信息表等, 其中毕业设 计相关文档数据主要来源于 project 表,结构如表 1 所示限于篇幅, 仅列出 project 表中的部分字段。 2.2 准备 模型数 据 数据模型并不是文本文件,它来自于Java 对象。图 1 为开题报告的一个 Word 示 例,其中使用矩形方框标出的是生成开题报告需要的动态模型数据。不难发现, 这些数据均来源于project 关系表,系统与project 关系表对应的JavaBean 实体 类为project,对project 关系表进行查询得到的记录将通过ORM对象关系映射 转换为一个project 类的对象实例,该对象的成员变量分别对应 project 表中各 字段。 表1 project 结构 题目信息表 下载原表 数据模型是树形的, 可以通过HashMap类构建简单的数据模型, 例如将某个题目信息对象 project 以map 映射数据“project“,project 存入数据模型, 在flt 模板中则可以通过{project.ptitle} 获取毕业设计 论文标题, 通过{project.sname} 获取学生姓名,其访问模型数据方式类似于 EL 表达式。 3 FreeMarker 模 板 准备 在确定了模型数据对象名称、结构和语义之后,才能准确无误地使用模板语言构 建动态可变内容。 下面以创建开题报告模板为例说明如何准备 FreeMarker 模板。 3.1 准备 Word 模板 准备一个如图1 所示的 Word 2003 版本开题报告,需要注意的是开题报告内容比 较多,可能会跨页,为保证表格跨页正常显示,需要将开题报告内容所在的单元格 设置为允许跨页断行。 图1 开题报告文档示例 下载原图 3.2 转换 为 XML 并 保存为 ftl 文件 将准备好的开题报告模板另存为 Word 2003XML 文档,然后将其后缀名修改为 flt 即可。 3.3 修改 ftl 文件, 完成 数据 填充 修改flt 文件,将如图1 所示的需要动态填充 的零散数据替换为ftl 语言表达式。 文献中通过类似{project.sname} 方式取出模型数据,完成对模板的填充,但在 实际应用中有可能产生两个问题1当模型数据对象为 NULL 或者不存在的情况 下会抛掉异常;2当模型数据中含有 “”、“2将分隔字符串替换 为 “]] 。该方法利用了 CDATA 区段不被解析特性以及 ftl 模板中的段落组成方式,将开题报告内容中的 多个段落巧妙地拼接构造出来,最终生成格式一致的多段内容。 4 程序实现 4.1 创建 工具类 并初 始化 FreeMarker 配置 实例 首先导入版本号为 2.3.24 的freemarker.jar 包,并在com.bs.util 包下创建 WordUtil.java 工具类。使用 FreeMarker 的第一步是创建配置实例,由于 FreeMarker 的configuration 配置对象全局只需要维护一个,因此在 WordUtil.java 类中将 configuration 定义为静态变量并 通过静态代码初始化 接着在该类中封装对多个段落进行预处理的stringFilter方法和生成Word 文 档的creatWord 方法,下面分别对这两个方法进行介绍。 4.2 对多 个段落 内容 的预 处理 对多个段落内容的处理采用前述的替换填充策略。 在生成选题理由、 开题报告内 容等包含多个段落内容文档时,需要使用该方法对数据进行预处理,代码如下 4.3 生成 Word 文 档方法 生成Word 的方法封装如下,其中省略了 try„catch 语句块。 需要说明的是,ftl 模板文件设置为统一存放在站点根目录 的“/templates/” 路径下, 方法调用时需要提供参数为当前的 servletContext 上下文、模型数据 Map 、使用的模板名称、生成 Word 文档的存放目录以及 Word 文档名称。若指定 的Word 文档存放目录不存在,程序会自动创建该目录。 4.4 应用 示例 毕业设计各类文档内容提交时间不同,生成对应 Word 文档的时机也不同。 以生成 开题报告Word 为例,按照系统设计,学生提交开题报告内容后,由指导教师填写 审批意见,当提交审批意见成功后自动生成开题报告 Word,此后只有指导教师可 以修改开题报告相关内容。 指导 教师在线修改开题报告内容并提交成功后自动重 新生成开题报告Word 。生成开题报告Word 文档的核心代码如下 代码说明1当前题目project 对象和对应学生stu 对象已经通过查询得到;2 开题报告内容ktbgnr 字段和开题报告意见ktbgyj 字段包含多个段落内容, 需要进行预处理;3 系统最初导入学生信息时,会根据一定的规则自动生成一个 唯一的服务器相对路径并保存在 fpath 字段,此路径下对应存储该学生的所有相 关文档, 因此生成的Word 文档路径由服务器绝对路径basepathstu.getF-path 指定。 5 结语 本文基于FreeMarker 模板引擎构建了Word 文档动态生成方案,不仅代码量非常 少,而且解决了零散数据填充时容易被忽略的两个问题,增强了程序的健壮性。 与 此同时, 对应用中可能出现的多个段落内容数据填充问题提出了有效的解决方 案。在毕业设计管理信息系统的应用实践中,实现了数据导出并生成完全符合特 定格式要求的Word 文档功能,满足了具有统一格式规范的各类文档导出需求。 参考文献 [1] 夏松竹.基于B/S 结 构的本科毕业设计管理信息系统设计与实现[J]. 工业和 信息化教育,2016182-86. [2] 周建锋,付延友. 毕 业设计管理信息系统的设计与实现[J].软件导 刊,2016896-98. [3]ROD JOHNSON.J2EE 设计开发编程指南[M]. 魏海萍,于晓菲,毛选, 译.北京电 子工业出版社,2003. [4] 刘全飞,周相兵.基于 FreeMarker 的站群系统模板设计实现[J].信息技 术,2015736-39. [5] 肖斌,李超,汪敏.基于 C快速生成 Word 报告[J].计算机系统应 用,2012,217232-235. [6] 王庆喜,李源.基于freemarker 和XML 技术的 Word 生成方案[J]. 电脑与信息 技术,2012,20231-33. [7] 曾玉林.FreeMarker 在JSP 项目中 Word 报表应用研究[J].电脑开发与应 用,2013,261259-61. [8] 王正敏,张太红, 李 永可,等.FreeMarker 模板引擎在线动态生成Excel 和Word 文档技术[J].计算机与现代化,20164109-113.

    注意事项

    本文(FreeMarker文档生成技术在毕业设计管理系统中的应用.doc)为本站会员(admin)主动上传,微传网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知微传网(发送邮件至changjinlai@126.com或直接QQ联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    微传网是一个办公文档、学习资料下载的在线文档分享平台!

    网站资源均来自网络,如有侵权,请联系客服删除!

     网站客服QQ:80879498  会员QQ群:727456886

    copyright@ 2018-2028 微传网络工作室版权所有

         经营许可证编号:冀ICP备18006529号-1 ,公安局备案号:13028102000124

    收起
    展开