黑马程序员技术交流社区

标题: 【郑州校区】bos项目笔记之chapter03_系统分析、环境搭建(2) [打印本页]

作者: 谷粒姐姐    时间: 2018-3-14 13:36
标题: 【郑州校区】bos项目笔记之chapter03_系统分析、环境搭建(2)
本帖最后由 谷粒姐姐 于 2018-3-14 14:03 编辑

二、 区域设置
1. 区域批量导入功能
分析: 文件上传、数据文件格式 Excel(解析操作)
1.1. 如何上传批量数据表格
需要注意事项:
1、 必须同步提交 form 表单
2、 Form 表单编码方式 multipart/form-data
3、 提交方式必须为 post
4、 上传文件对应 input type=”file” 元素要提供 name 属性
1.2. 一键上传原理


1.3. 使用 jQueryocupload实现一键上传
ocupload 指 one-click upload
官网: http://code.google.com/p/ocupload/
1、 导入 jquery.ocupload-1.1.2.js 到项目中
2、 在页面引入 ocupload.js



1.4. 限制只能上传指定格式的文件
思路:在选择文件后,关闭自动提交,判定文件格式,再手动提交
1.5. 编写服务器代码实现区域批量导入
1、 使用 struts2 文件上传机制,接收上传文件
struts2-default.xml 配置
拦截器已经被配置 defaultStack 中
编写 AreaAction 接收上传文件
在 Action 定义三个成员变量
private File [页面元素 name]
private String [页面元素 name]ContentType;
private String [页面元素 name]FileName;
2、 实现 Excel 文件解析
官网: http://poi.apache.org/
目标要解析 Excel 使用 SS 组件
HSSF 解析 Excel 97-2007 格式 (.xls)
XSSF 解析 Excel 2007 格式 (.xlsx )
基于 maven 坐标导入 POI 支持
poi… jar 解析 HSSF
poi ooxml .. jar 解析 XSSF (以来 POI 包 )


解析 Excel 逻辑
工作薄 --- sheet --- row --- cell




编写业务层
编写 DAO
1.6. 使用 Pinyin4j生成区域简码和城市编码
什么是城市编码? 什么是简码 ?
北京市 ---- 城市编码 beijing
北京市海淀区 --- 简码 BJHD


1、 使用 maven 坐标导入 pinyin4j
2、 导入资料 Pinyin4jUtils 工具类


2. 区域分页列表查询功能
1、 在 area.html 页面中添加一个 查询按钮,点击按钮,弹出查询窗口
2、 对查询窗口,查询按钮,添加点击事件, 效果将查询表单数据转换为 json,绑定 datagrid
3、 修改 datagrid 的 url 地址
4、 在 AreaAction 添加 pageQuery 查询方法


5、 编写 AreaService 代码


6、 编写 DAO 代码
7、 在 Area 实体类, 对多属性 getter 方法上 @JSON 注解
三、 代码重构优化
代码重构优化, 优化掉每次编写都需要重复编写的代码,实现代码简化编写。
1. 优化 Action代码,抽取 BaseAction
1.1. 抽取模型驱动的代码


1.2. 分页查询代码重构优化

bos项目笔记之chapter01_系统分析、环境搭建(1)
bos项目笔记之chapter01_系统分析、环境搭建(2)
bos项目笔记之chapter01_系统分析、环境搭建(3)
bos项目笔记之chapter01_系统分析、环境搭建(4)
bos项目笔记之chapter02_系统分析、环境搭建(1)
bos项目笔记之chapter02_系统分析、环境搭建(2)
bos项目笔记之chapter03_系统分析、环境搭建(1)







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2