简单的一个数据表的增删查改的总体界面的展示效果例如以下图:

1.datagrid数据载入问题

datagrid通过url请求后台数据,总记录数和数据行的属性是固定死的。数据行是rows,总记录数为total

List<Map<String,Object>> maplist = configMgrService.listAllAccessIps(pb);
JsonConfig config = new JsonConfig();
config.registerJsonValueProcessor(Timestamp.class, new DateJsonValueProcessor("yyyy-MM-dd HH:mm:ss"));
config.registerJsonValueProcessor(Date.class,new DateJsonValueProcessor("yyyy-MM-dd"));
JSONArray jsonArray=JSONArray.fromObject(maplist,config);//将list转换JSONArray对象
Map<String,Object> result = new HashMap<String,Object>();
result.put("total",pb.getCondition().get("total"));
result.put("rows", jsonArray);
response.setContentType("text/javascript;charset=UTF-8"); //防止中文乱码
ObjectMapper objMap = new ObjectMapper();
objMap.writeValue(response.getWriter(), result);

2.分页的问题

我配置的是每页显示5条,结果一刷新就是10条,但点击下一页上一页不会有这个问题。

解决:将pageSize属性配置在datagrid属性里边,假设单独通过datagrid来getPager,然后再配置就会出现这个问题

var p = $('#infoAccessLimitDG').datagrid('getPager');
$(p).pagination({
pageSize:5,//这里配置的不会有什么作用
beforePageText : '第',//页数文本框前显示的汉字
afterPageText : '页 共 {pages} 页',
displayMsg : '当前显示 {from} - {to} 条记录 共 {total} 条记录'
});
$("#infoAccessLimitDG").datagrid({
pageSize:5,//在这里配置才会起作用
.....
});

3.中文乱码

后台写回数据给前台时。前台中文显示乱码,不知道怎么回事,在xml文件配置解决不了乱码的问题。暂时的解决方式,就是在写数据前,给HttpServletResponse response设置下编码

response.setContentType("text/javascript;charset=UTF-8");  //防止中文乱码
ObjectMapper objMap = new ObjectMapper();
objMap.writeValue(response.getWriter(), result);

4.日期格式化显示

a.数据列显示的问题:后台数据格式为Date,前端显示的是yyyy-MM-dd 00:00:00格式。给数据列加入格式化器属性

<th field="startDate" formatter="dateFormatter">有效日期(起)</th>

//js代码
function dateFormatter(val,row)
{
if(val != null)
{
var year = val.substring(0,4);
var month = val.substring(5,7);
var day = val.substring(8,10);
return year + '-' + month + '-' + day;
}
else return "";
}

5.表单提交。表单中含有日期表单元素,总是提交不到后台~!



表单。用的是easyUI提供的日期控件,获取值和设置有点点的不同

$("#infoAccessLimitFm #endDate").datebox('getValue');//获取值
$("#infoAccessLimitFm #startDate").datebox('setValue',row.startDate);//设置值

以Ajax方式提交,提交不到后台

$.ajax({
type:"POST",
url:url,
dataType: 'json',
data:{'limitCode':limitcode,'accessIp':accessIp,'accessType':accessType,
'appName':appName,'startDate':startDate,'endDate':endDate,'id':ialId},
success:function(data)
{
alert(data.msg);
$('#dlg').dialog('close');
$("#infoAccessLimitDG").datagrid("reload");
},
error:function(e)
{
alert("操作出错:"+e);
}
});

提交时。參数设值时。识别不了这个日期參数。导致提交失败。

通过注解来格式化

/**
* 有效日期起始日期
*/
@DateTimeFormat(pattern="yyyy-MM-dd")
public Date startDate;

Spring mvc+Easyui遇到的几个问题的更多相关文章

  1. hibernate+spring+mvc+Easyui框架模式下使用grid++report的总结

    最近刚开始接触hibernate+spring+mvc+Easyui框架,也是刚开通了博客,希望能记录一下自己实践出来的东西,让其他人少走弯路. 转让正题,以个人浅薄的认识hibernate对于开发人 ...

  2. Spring Data Jpa 实现分页(Spring MVC+easyui)

    spring data jpa很好的对dao层进行了封装,这篇文章主要来写的是实现easyui datagird数据分页,由于各个UI参数不大一样,所以如果使用的是其他UI,得稍作修改.需要说明的是我 ...

  3. spring mvc easyui tree 异步加载树

    使用spring mvc 注解 异步加载一棵树 jsp: <ul id="orgInfoTree"></ul> $(function(){ loadOrgT ...

  4. Spring Mvc + Easyui中根据查询结果导出文件

    项目是典型的SpringMvc + Easyui,需求是前台页面根据查询条件导出生成CSV文件. 基本流程是:前台页面通过表单提交的方式,请求后台,后台接受到查询参数,根据查询参数查询到数据集合,最后 ...

  5. EasyUI + Spring MVC + hibernate实现增删改查导入导出

    (这是一个故事--) 前言 作为一个JAVA开发工程师,我觉得最基本是需要懂前端.后台以及数据库. 练习的内容很基础,包括:基本增删改查.模糊查询.分页查询.树菜单.上传下载.tab页 主管发我一个已 ...

  6. Spring MVC与easyui国际化

    1.建立资源文件 在webapp下建立文件夹language,在其中再添加file,命名分别为language.properties,language_en.properties,language_z ...

  7. 对Spring.Net+NHibenate+Asp.Net Mvc+Easyui框架的个人认识

    对Spring.Net+NHibenate+Asp.Net Mvc+Easyui框架的个人认识   初次接触Spring.Net+NHibenate+Asp.Net Mvc+Easyui框架,查阅了相 ...

  8. Spring.Net+NHibenate+Asp.Net Mvc+Easyui框架

    Spring.Net+NHibenate+Asp.Net Mvc+Easyui框架 初次接触Spring.Net+NHibenate+Asp.Net Mvc+Easyui框架,查阅了相关资料,了解了框 ...

  9. spring MVC +freemarker + easyui 实现sql查询和执行小工具总结

    项目中,有时候线下不能方便的连接项目中的数据源时刻,大部分的问题定位和处理都会存在难度,有时候,一个小工具就能实时的查询和执行当前对应的数据源的库.下面,就本人在项目中实际开发使用的小工具,实时的介绍 ...

随机推荐

  1. RabbitMQ一:消息队列的认识

    1异步处理 场景说明:用户注册后,需要发注册邮件和注册短信.传统的做法有两种1.串行的方式:2.并行方式. (1)串行方式:将注册信息写入数据库成功后,发送注册邮件,再发送注册短信.以上三个任务全部完 ...

  2. Javascript中的那些bug

    1. x(比如document) is not defined 不止要检查是不是没有声明变量就使用了,还要检查是不是对象的方法调用写错了!比如: alert( document.getElementB ...

  3. 计算机二级C语言冲刺笔记。

    2018-03-0618:32:26 风萧萧兮易水寒,壮士一去...... 四级依旧没过,计算机二级接踵而至, default语句在switch语句中可以省略,所以B错误:switch语句中并非每个c ...

  4. 在eclipse里如何快速定位到某一行?

    使用快捷键ctrl+L讲每一行的行号显示出来:在eclipse的某一行的最左边,右键——show Line Numbers就可以将行数都显示出来.

  5. (转)淘淘商城系列——Redis持久化方案

    http://blog.csdn.net/yerenyuan_pku/article/details/72858975 Redis中设置key的过期时间 Redis中的expire命令用于设置key的 ...

  6. Vue实战之插件 sweetalert 的使用

    安装npm install sweetalert2@7.15.1 --save 封装 sweetalertimport swal from 'sweetalert2' export default { ...

  7. JMeter怎样测试WebSocket,示例演示(二)

    一.测试案例演示 以  http://www.websocket.org/echo.html 网站为例. 地址为:ws://echo.websocket.org 二.长连接的影响 1.没有勾选stre ...

  8. 网络编程 - socket接收大数据

    通过socket,实现客户端发送命令,将服务端执行出的结果,反回到客户端,主要4个步骤:1.服务端返回数据: 2.服务端返回数据的大小: 3.客户端接收返回数据的大小: 4.客户端按返回数据大小接收数 ...

  9. 03匿名内部类、eclipse快捷键、String相关知识

    03匿名内部类.eclipse快捷键.String相关知识-2018.7.11 1.匿名内部类(只针对重写一个方法时候使用,不能向下转型,因为没有子类类名) new Inter(){ public v ...

  10. linux nethogs-终端下的网络流量监控工具

    推荐:更多linux 性能监测与优化 关注:linux命令大全 有很多适用于Linux系统的开源网络监视工具.比如说,你可以用命令iftop来检查带宽使用情况.netstat用来查看接口统计报告,还有 ...