1、收派标准添加

jQuery easyUI window使用

jQuery easyUI form表单校验

收派标准添加页面调整url params

服务端实现三层

2jQuery easyUI datagrid 使用方式

n 将静态HTML渲染为datagrid样式(html方式)

n 发送ajax请求获取动态json数据构造datagrid(html方式)

n 使用easyUI提供的API(js方式)动态创建datagrid(掌握

3、收派标准管理

n 收派标准分页查询(基于datagrid实现)

n 收派标准修改

4、快递员管理

n 快递员添加

快递员列表查询(no-Session)

-----------------------------------------------------------------------------

1.1 Validatebox表单校验

1、 给input加样式class=easyui-validatebox

2、 设置校验规则:

a) 非空规则 required:true

 

b) 其他规则:通过validType:指定规则

 

3、 在提交表单之前做表单校验:调用FORM的validate方法

1.1 通过调用easyui的API(js)创建datagrid(掌握

1、 在页面中添加table元素给出id

2、 页面加载完成调用API  datagrid将数据表格创建,通过json对象设置数据表格属性

当显示分页组件:

点击分页按钮发送请求,提交两个参数page(当前页数)   rows(每页显示记录数)

服务端响应返回符合规范数据json对象: total(总记录数)  rows(当前页的数据)

{

total: 12,

rows:[]

}

 

通过js方式创建数据表格

<table id="dg"></table>

<script type="text/javascript">

$('#dg').datagrid({

url:'../data/user.json', //发送请求   数据来源

columns:[[       //展示数据

{field:'id',title:'编号',width:100},

{field:'name',title:'姓名',width:100},

{field:'age',title:'年龄',width:100,align:'right'}

]],

pagination:true,//展示分页栏

/*

请求:提交参数

、rows(每页显示记录数)

响应:响应json数据

{

total:100,

 

rows:[]  //当前页记录

}

*/

toolbar:[{

iconCls: 'icon-edit',

text:"编辑",

handler: function(){ //点击事件

alert('edit')

}

},{

iconCls: 'icon-save',

text:"新增",

handler: function(){ //点击事件

alert('save')

}

},{

iconCls: 'icon-help',

text:'帮助',

handler: function(){alert('help')}

}] ,

rownumbers:true,

singleSelect:true,

striped:true,

  pageSize:3,

 

  pageList:[3,10]

});

</script>

收派标准分页

@Action("standardAction_pageQuery")

public String pageQuery() throws Exception {

//dao中方法  Page<T> findAll(Pageable pageable);

//pageable:封装当前页 每页展示记录数

Pageable pageable = new  PageRequest(page-1, rows);

//返回Page对象中:包含当前页记录 总记录数等

Page<Standard> page =  standardService.pageQuery(pageable);

System.out.println("查询到总记录数:"+page.getTotalElements());

System.out.println("查询当前页记录:"+page.getContent());

Map<String, Object> map = new HashMap<>();

map.put("total", page.getTotalElements());

map.put("rows", page.getContent());

//转json gson;jsonlib,fastjson,jackson

//Jsonlib转json

//转对象,map 使用JSONObject

//转集合,数组说那个JSONArray

//将对象转为json

String json = JSONObject.fromObject(map).toString();

System.out.println(json);

ServletActionContext.getResponse().setContentType("text/json;charset=utf-8");

ServletActionContext.getResponse().getWriter().write(json);

return NONE;

实现收派标准修改功能

1.1 页面调整

查询easyui API:

Datagrid的方法:获取选中的记录

 

form表单方法:回显数

1、 给修改按钮设置点击事件:1判断2、获取选中记录3在表单中回显数据 4打开窗口

 

 

1.1 使用combobox展示收派标准数据

1、 页面:pages/base/courier.jsp

2、 修改combobox的url

1、 在收派标准action中添加查询所有收派标准,返回json数组形式

1.1 No session(理解)

初始化快递员对象中 定区集合

Web层转Courier对象为json串时候,对象中有fixedareas集合属性,jpa集合属性加载策略延迟加载。在action中转fixedareas集合为json串,通过代理对象查询数据库,action层中session已经关闭。

1、 解决方案:

1、 解决方案:方式一:使用过滤器延迟session生命周期:在web层(页面渲染完毕)关闭session

仅解决解决noSession问题

在web.xml中配置过滤器,当页面渲染完毕后关闭session

<!-- 必须放在struts2核心过滤器之前作用,延迟session生命周期 -->

<filter>

<filter-name>openEntityManagerInViewFilter</filter-name>

<filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>openEntityManagerInViewFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

a) 方式二:将集合属性改为立即加载(效率低不用)

b) 方式三:

1、 方式二:将实体中不需要转json的属性排除掉

1、 页面中展示数据:

项目一:第三天 收派标准添加 收派标准分页查询(基于datagrid实现) 收派标准修改快递员添加 快递员列表查询的更多相关文章

  1. 直接拿来用!最火的iOS开源项目(一~三)

    结束了GitHub平台上“最受欢迎的Android开源项目”系列盘点之后,我们正式迎来了“GitHub上最受欢迎的iOS开源项目”系列盘点.今天,我们将介绍20个在GitHub上非常受开发者欢迎的iO ...

  2. Hadoop学习笔记—20.网站日志分析项目案例(三)统计分析

    网站日志分析项目案例(一)项目介绍:http://www.cnblogs.com/edisonchou/p/4449082.html 网站日志分析项目案例(二)数据清洗:http://www.cnbl ...

  3. 学习Coding-iOS开源项目日志(三)

    继续前两篇,接着本第三篇<学习Coding-iOS开源项目日志(三)>讲解Coding-iOS开源项目. 前 言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的 ...

  4. Selenium Web 自动化 - 项目实战(三)

    Selenium Web 自动化 - 项目实战(三) 2016-08-10 目录 1 关键字驱动概述2 框架更改总览3 框架更改详解  3.1 解析新增页面目录  3.2 解析新增测试用例目录  3. ...

  5. Vue2+VueRouter2+webpack 构建项目实战(三):配置路由,运行页面

    制作.vue模板文件 通过前面的两篇博文的学习,我们已经建立好了一个项目.问题是,我们还没有开始制作页面.下面,我们要来做页面了. 我们还是利用 http://cnodejs.org/api 这里公开 ...

  6. SuperDiamond在JAVA项目中的三种应用方法实践总结

    SuperDiamond在JAVA项目中的三种应用方法实践总结 1.直接读取如下: @Test public static void test_simple(){ PropertiesConfigur ...

  7. Cocos2d-x v3.1项目创建(三)

    Cocos2d-x v3.1项目创建(三) Cocos2d-x官方为我们提供了用于创建.编译.运行和部署的一套命令行的工具集,也就是上篇文章中我们所提到的Cocos2d-Console,它位于我们的引 ...

  8. (转载)Android项目实战(三十二):圆角对话框Dialog

    Android项目实战(三十二):圆角对话框Dialog   前言: 项目中多处用到对话框,用系统对话框太难看,就自己写一个自定义对话框. 对话框包括:1.圆角 2.app图标 , 提示文本,关闭对话 ...

  9. Android 项目优化(三):MultiDex 优化

    在整理MultiDex优化之前,先了解一下Apk的编译流程,这样有助于后面针对MultiDex优化. 一.Apk 编译流程 Android Studio 按下编译按钮后发生了什么? 1. 打包资源文件 ...

随机推荐

  1. 【leetcode刷题笔记】Binary Tree Inorder Traversal

    Given a binary tree, return the inorder traversal of its nodes' values. For example:Given binary tre ...

  2. mongodb同步

    mongodb同步 py-mongo-sync MongodbSync mongodb 的一个同步工具,具备将一个数据源上的数据,同步到其它 mongodb 上,支持: mongos -> (m ...

  3. Storm- Storm作业提交运行流程

    用户编写Storm Topology 使用client提交Topology给Nimbus Nimbus指派Task给Supervisor Supervisor为Task启动Worker Worker执 ...

  4. spring boot: scope (一般注入说明(一) @Autowired注解)

    实例一: DiConfig 文件: package di; import org.springframework.context.annotation.ComponentScan; import or ...

  5. KbmMW-及相关

    KbmMW框架是收费的,不在此提供下载,如需购买,请自行联系作者Kim Madsen. 网址资源: 官网主页:http://www.components4programmers.com/product ...

  6. Django 模版当中使用中文 UnicodeDecodeError at / 问题

    Django 再次是当中字符编码问题 今天使用了bootstrap 当中的一些CSS 对自己的博客项目当中的一些东西进行美化 但是很奇怪的是 当 诸如按钮类的加入 中文字符后 就会提示 Unicode ...

  7. ffmpeg代码实现自定义encoder

    1.概述 本文主要讲述如何用ffmpeg代码实现自己的encoder. 2.代码 /* *本程序主要实现一个自己的encoder并加入到encoder链中去,供api调用 *作者:缪国凯(MK) *8 ...

  8. xdebug浏览器调试参数

    XDEBUG_SESSION_START=phpstorm-xdebug 找到对应PHP版本的 Xdebug ,后面带 TS 的为线程安全,本机环境为 win7 64 + php-5.5.1-Win3 ...

  9. bzoj 2631: tree link-cut-tree

    题目: Description 一棵n个点的树,每个点的初始权值为1.对于这棵树有q个操作,每个操作为以下四种操作之一: + u v c:将u到v的路径上的点的权值都加上自然数c: - u1 v1 u ...

  10. iOS中的日期和时间

    转载于http://www.jianshu.com/p/ee279c175cf8 一.时间和日期计算 我们在应用开发中,时常需要和时间打交道,比如获取当前时间,获取两个时间点相隔的时间等等,在iOS开 ...