JAVAEE——BOS物流项目05:OCUpload、POI、pinyin4J、重构分页代码、分区添加、combobox

学习计划

1、实现区域导入功能

n OCUpload一键上传插件使用

n 将文件上传到Action

n POI简介

n 使用POI解析Excel文件

n 完成数据库操作

n 使用pinyin4J生成简码和城市编码

2、区域分页查询

n 页面调整

n 服务端实现

3、重构分页代码

n BaseAction

n 子类Action

4、分区添加功能

n 什么是分区

n 页面调整(combobox使用)

n 服务端实现

实现区域导入功能

2.1 jquery OCUpload一键上传插件使用

OCUpload(One Click Upload)

第一步:将js文件引入页面

<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery.ocupload-1.1.2.js"></script>

第二步:在页面中提供任意一个元素

第三步:调用插件提供的upload方法,动态修改HTML页面元素

<script type="text/javascript">
    $(function(){
        //页面加载完成后,调用插件的upload方法,动态修改了HTML页面元素
        $("#myButton").upload({
            action:‘xxx.action‘,
            name:‘myFile‘
        });
    });
</script>

2.2 在服务端接收上传的文件

在Action中提供一个File类型的属性,名称和上传的文件输入框名称一致regionFile

@Controller
@Scope("prototype")
public class RegionAction extends BaseAction<Region>{
    //属性驱动,接收上传的文件
    private File regionFile;

    public void setRegionFile(File regionFile) {
        this.regionFile = regionFile;
    }

    /**
     * 区域导入
     */
    public String importXls(){
        System.out.println(regionFile);
        return NONE;
    }
}

2.3 apache POI技术

Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。

下载开发包:

解压上面的zip文件:

在项目中引入POI的依赖:

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.11</version>
        </dependency>

POI使用:

@Test
    public void test1() throws FileNotFoundException, IOException{
        String filePath = "C:\\Users\\zhaoqx\\Desktop\\BOS项目(黑马32期)\\BOS-day05\\资料\\区域导入测试数据.xls";
        //包装一个Excel文件对象
        HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(new File(filePath)));
        //读取文件中第一个Sheet标签页
        HSSFSheet hssfSheet = workbook.getSheetAt(0);
        //遍历标签页中所有的行
        for (Row row : hssfSheet) {
            System.out.println();
            for (Cell cell : row) {
                String value = cell.getStringCellValue();
                System.out.print(value + " ");
            }
        }
    }

2.4 pinyin4J

        <!-- 引入pinyin4J的依赖 -->
        <dependency>
            <groupId>com.belerweb</groupId>
            <artifactId>pinyin4j</artifactId>
            <version>2.5.0</version>
        </dependency>
@Test
    public void test1(){
        //河北省    石家庄市    桥西区
        String province = "河北省";
        String city = "石家庄市";
        String district = "桥西区";
        //简码---->>HBSJZQX

        province = province.substring(0, province.length() - 1);
        city = city.substring(0, city.length() - 1);
        district = district.substring(0, district.length() - 1);

        String info = province + city + district;

        String[] headByString = PinYin4jUtils.getHeadByString(info);
        String shortcode = StringUtils.join(headByString);
        System.out.println(shortcode);

        //城市编码---->>shijiazhuang
        String citycode = PinYin4jUtils.hanziToPinyin(city, "");
        System.out.println(citycode);
    }

区域数据分页查询

利用之前已经写好的pageQuery

重构分页代码

将重复分代码统一抽取到BaseAction中

分区数据添加功能

区域范围很大,对区域进行细分产生分区

5.1 easyUI combobox下拉框使用

制作一个json文件:

    <input data-options="url:‘${pageContext.request.contextPath }/json/combobox_data.json‘,
            valueField:‘id‘,
            textField:‘name‘"
            class="easyui-combobox">

5.2 使用combobox展示区域数据

页面:WEB-INF/pages/base/subarea.jsp

第一步:修改页面中combobox:

添加获取name的方法

第二步:在RegionAction中提供listajax方法

第三步:在RegionDao中扩展方法

第四步:为添加窗口中保存按钮绑定事件

5.3 服务端实现

创建分区对应的Action、Service、Dao

分页查询问题

将Java对象转为json过程中,因为对象之间有相互引用关系,会发生死循环问题,解决方式,排除其中属性

原文地址:https://www.cnblogs.com/xieyupeng/p/8457864.html

时间: 2024-10-09 16:48:22

JAVAEE——BOS物流项目05:OCUpload、POI、pinyin4J、重构分页代码、分区添加、combobox的相关文章

JAVAEE——BOS物流项目03:学习计划、messager、menubutton、登陆拦截器、信息校验和取派员添加功能

1 学习计划 1.jQuery easyUI messager使用方式 n alert方法 n confirm方法 n show方法 2.jQuery easyUI menubutton使用方式 3.自定义拦截器实现用户未登录自动跳转到登录页面 n 创建拦截器 n 注册拦截器 4.基于ajax实现用户修改密码功能 n easyUI中validatebox校验功能 n 发送ajax请求 n 服务端修改数据库 5.基础设置部分需求分析 6.创建基础设置部分数据表 n 取派员表 n 区域表 n 分区表

JAVAEE——BOS物流项目02:学习计划、动态添加选项卡、ztree、项目底层代码构建

1 学习计划 1.jQuery easyUI中动态添加选项卡 2.jquery ztree插件使用 n 下载ztree n 基于标准json数据构造ztree n 基于简单json数据构造ztree(重点) 3.数据库建模工具PowerDesigner使用方式 4.myeclipse翻转引擎插件使用(了解) 5.项目底层代码构建(重点) n 持久层代码抽取 n 表现层代码抽取 6.实现BOS项目登录和注销功能 2 jQuery easyUI中动态添加选项卡 l 用于动态添加一个选项卡 l 选中指

JAVAEE——BOS物流项目12:角色、用户管理,使用ehcache缓存,系统菜单根据登录人展示

1 学习计划 1.角色管理 n 添加角色功能 n 角色分页查询 2.用户管理 n 添加用户功能 n 用户分页查询 3.修改Realm中授权方法(查询数据库) 4.使用ehcache缓存权限数据 n 添加ehcache依赖 n 配置缓存管理器 5.系统菜单根据登录人展示 n 调整页面ajax请求地址 n 服务端查询菜单数据 2 角色管理 2.1 添加角色功能 2.1.1 页面调整 首先先完善pages/admin/function_add.jsp添加权限的页面,把下拉框改为combotree 他的

JAVAEE——BOS物流项目04:学习计划、datagrid、分页查询、批量删除、修改功能

1 学习计划 1.datagrid使用方法(重要) n 将静态HTML渲染为datagrid样式 n 发送ajax请求获取json数据创建datagrid n 使用easyUI提供的API创建datagrid(掌握) 2.实现取派员分页查询 n 调整页面基于datagrid发送ajax请求 n 创建PageBean封装分页参数 n 定义通用分页查询方法 n 将分页查询结果转为json返回 3.取派员批量删除 n 页面调整 n 服务端实现 4.取派员修改 n 页面调整 n 服务端实现 2 data

学习BOS物流项目第九天

1 教学计划 1.业务受理需求分析 a. 业务通知单 b.工单 c.工作单 2.创建业务受理环节的数据表 a.业务通知单 b.工单 c.工作单 3.实现业务受理自动分单 a.在CRM服务端扩展方法根据手机号查询客户信息 b.在CRM服务端扩展方法根据取件地址查询定区id c.调整业务受理页面回显客户信息 d.实现自动分单 4.数据表格编辑功能使用方法 5.工作单快速录入 2 业务受理需求分析 整个BOS项目分为基础设置.取派.中转.路由.报表等几大部分. 受理环节,是物流公司业务的开始,作为服务

BOS物流项目第十三天

教学计划 1.Quartz概述 a. Quartz介绍和下载 b. 入门案例 c. Quartz执行流程 d. cron表达式 2.在BOS项目中使用Quartz创建定时任务 3.在BOS项目中使用JavaMail发送邮件 4.HighCharts概述 a. HighCharts介绍 b. 在线演示 5.基于HighCharts实现区域分区分布图 1 Quartz概述 1.1 quartz介绍和下载 官网:http://www.quartz-scheduler.org/ Quartz是OpenS

BOS物流项目第十一天

教学计划 1.在realm中进行授权 2.使用shiro的方法注解方式权限控制 a.  在spring文件中配置开启shiro注解支持 b.  在Action方法上使用注解 3.使用shiro的标签进行权限控制 a.  在页面引入shiro的标签库 b.  在页面中使用标签 4.总结shiro提供的权限控制方式 a.  URL拦截权限控制 b.  方法注解权限控制 c.  页面标签权限控制 d.  代码级别权限控制(了解) 5.权限管理 a.  初始化权限数据 b.  添加权限功能 c.  权限

BBS(仿博客园系统)项目05(后台管理功能实现:文章添加、富文本编辑器使用、xss攻击、BeautifulSoup4模块、富文本编辑器上传图片、修改头像)

摘要 布局框架搭建 随笔添加 后台管理富文本编辑器KindEditor xss攻击 文章简介的截取,BeautifulSoup4模块 富文本编辑器上传图片 头像修改 一.后台管理框架布局搭建 后台管理布局框架分析:导航条.左侧功能区.右侧主要功能显示和实现区 实现: 导航条:使用bootstrap模板:JavaScript>>导航条 左侧:使用bootstrap模板:组件>>列表组 右侧:使用bootstrap模板:JavaScript>>标签页 新建后台管理路由(注意

框架 day50 BOS项目 4 批量导入(ocupload插件,pinyin4J)/POI解析Excel/Combobox下拉框/分区组合条件分页查询(ajax)/分区数据导出(Excel)

知识点: 批量导入(ocupload插件,pinyin4J /POI解析Excel(apache POI) /区域分页查询 /Combobox下拉框 /分区组合条件分页查询(ajax) /分区数据导出(Excel下载) BOS项目笔记第4天 1.    区域批量导入功能 *Ajax不支持文件上传. *上传并且不刷新上传页面原理: Target到一个0,0,0的隐藏iframe里,造成一个没有刷新的假象 <form target="myIframe" action="ab