`
zhenther
  • 浏览: 24192 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

JQuery EasyUI使用简介

阅读更多

图为EasyUI的基本效果,更换了其默认的橙色系: 

jQuery EasyUI是一组基于jQuery的UI插件集合,对于web开发人员来讲,EasyUI的出现,预示着只要会基本的CSS,JS,就能开发出功能丰富并且美观的UI界面。jQuery EasyUI为我们提供了的大量UI控件的使用,如:accordion,combobox,menu,dialog,tabs,tree,datagrid,validatebox,window等等。

这几天一直在学习研究JQuery EasyUI,出发点原本是解决公司现在的框架实现某些功能太过于繁琐,比如现在的分页查询,通过一个java类拼接html元素组成分页,太过于繁琐,并且查询条件一多,更是麻烦,所以为了后期开发不再花费太多时间在这个上面,这几天对JQuery EasyUI进行了简单的学习,在这总结一下,做个学习笔记,以免日后忘记。
1.从JQuery官网下载所需插件,当前最新版本为1.2.5,下载jquery-easyui-1.2.5.zip
2.解压下载压缩包,在页面中引入easyui.css,icon.css,jquery.js,easyui.js,easyui-lang-zh_CN.js(中文支持),对文件名去掉了版本号进行重命名,注意jquery.js一定要在easyui.js引入之前引入,因为easyui.js是基于jquery.js实现。
3.实现简单的基本功能,实现table绑定datagrid,datagrid分页查询,条件查询,基于模态弹出层的JSON数据格式的AJAX新增,修改以及删除功能的实现。
4.编辑jsp页面,页面实现采用easyui-layout布局,类似与java swing中的BorderLayout,南北贯通,中间势力最大,分为north,south,west,east,center ,通过div结合easyui的css实现,重点讲table绑定easyui的datagrid实现,只需要在页面中编写一个无内容的table,即
<table id="grid"></table>,一定要包含id,因为datagrid就是通过查找id来实现绑定的,接着在页面引入如下js:
$(function(){
$('#grid').datagrid({
fit:true,//自动大小
nowrap: false,
striped: true,
collapsible:false,//是否可折叠
remoteSort: false,
singleSelect: false,//单选
pagination:true,//分页控件
pageSize:5, //设置默认每页显示的行数
pageList:[5,10,15,20,25,30],
rownumbers:true,//显示行号
loadMsg:'数据加载中,请稍候...',
title:'产品列表',
url:'Products_proLst',
idField:'id',
columns:[[
{field:'ck',checkbox:true,width:20},
{field:'proNo',title:'产品编号',width:90,align:'center'},
{field:'proName',title:'产品名称',width:120,align:'center'},
{field:'proType',title:'产品类型',width:80,align:'center'},
{field:'addTime',title:'录入时间',width:120,align:'center',
formatter:function(value,rec,index){
return value.substring(0,value.lastIndexOf('.'));
}
},
{field:'statue',title:'审核状态',width:80,align:'center',
formatter:function(value,rec,index){
if(value=='1')
return "已审核";
if(value=='2'){
return "未审核";
}
}
},
{field:'opt',title:'操作',width:120,align:'center',
formatter:function(value,rec,index){
return "<a href='javascript:doEdit("+rec.id+")'>编辑</a>&nbsp;|&nbsp;" +
"<a href='javascript:doDel("+rec.id+")'>删除</a>";
}
}
]],
toolbar:[{
id:'btnExport',
text:'导出',
iconCls:'icon-print',
handler:function(){
alertInfo('导出成功!');
}
},'-',{
id:'btnAdd',
text:'添加',
iconCls:'icon-add',
handler:function(){
openWin('w','添加产品',600,400);
}
},'-',{
id:'btnDel',
text:'删除',
iconCls:'icon-remove',
handler:function(){
}
}]
});
});
5.后台采用struts2处理数据,引入JSON的支持包,分别为commons-beanutils-1.8.0.jar,commons-collections-3.2.1.jar,commons-lang-2.4.jar,commons-logging-1.0.4.jar,ezmorph-1.0.4.jar,json-lib-2.1.jar,jsonplugin-0.33.jar,缺一不可。编写action,在action中定义两个参数,分别为rows(相当于pageSize),page(相当于pageIndex),action主要代码:
public String proLst(){
try{
//当前页
int pageIndex = Integer.parseInt((page == null || page == "0") ? "1":page);
//每页显示条数
int pageSize = Integer.parseInt((rows == null || rows == "0") ? "10":rows);
int startRow = (pageIndex-1)*pageSize;
Map<String, String> map = new HashMap<String, String>();
total = dao.getProTotalRow(map);
List<Products> lst = dao.getProLst(map, startRow, pageSize);
Map<String, Object> jsonMap = new HashMap<String, Object>();//定义map
jsonMap.put("total", total);//total键 存放总记录数,必须
jsonMap.put("rows", lst);//rows键 存放每页记录 list
result = JSONObject.fromObject(jsonMap);//格式化result
System.out.println(result);
}catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
}
因为datagrid分页需返回json格式的数据,所以在struts.xml配置文件的package 中的配置方式就不再是传统的extends="struts-default"而是extends="json-default",并且result的type="json",配置参数param,不配置json数据不能正常返回,原因暂时还没想明白,参数中的resaut为action格式化的JSONObject对象,整体配置如下:
<package name="products" namespace="/" extends="json-default">
<action name="*_*" class="com.yi.action.{1}Action" method="{2}">
<result type="json" >
<param name="root">result</param>
</result>
</action>
</package>
6.在提交查询参数时,含有中文,后台获取到的JSON数据中文乱码,折腾了很久,页面编码与服务器编码一致,并设置了请求编码格式,struts2配置编码过滤器也无效果,最终采用最原始的编码过滤器,将所有的请求在未经任何处理之前就进行编码,中文乱码问题解决。
7.完毕。
分享到:
评论
2 楼 zhenther 2012-03-28  
1.可以编写一个普通的java类实现Servlet的Filter接口,下面是编码过滤器的实现类
/**
* 用于字符编码过滤器
* @author
*
*/
public class EncoderFilter implements Filter{

String ecoding;//字符编码
public void destroy() {

}

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {

HttpServletRequest requ=(HttpServletRequest)request;
HttpServletResponse resp=(HttpServletResponse)response;
requ.setCharacterEncoding(ecoding);
resp.setCharacterEncoding(ecoding);
chain.doFilter(requ, resp);

}

public void init(FilterConfig config) throws ServletException {
ecoding = config.getInitParameter("encoding");

}

}
2.在web.xml中配置过滤器,如下
<!-- 编码过滤器配置 -->
  <filter>
<filter-name>EncodeFilter</filter-name>
<filter-class>com.yi.filter.EncoderFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
  </filter>
  <filter-mapping>
<filter-name>EncodeFilter</filter-name>
<url-pattern>/*</url-pattern>
  </filter-mapping>
1 楼 jasoncool 2012-03-28  
最原始的编码过滤器  是什么 能不能详细说明一下?

相关推荐

    Jqueryeasyui使用说明

    资源名称:Jquery easyui 使用说明内容简介:Jquery easyui 使用说明 中文PDF版主要讲述的是Jquery easyui 使用说明;感兴趣的朋友可以过来看看。jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的...

    jquery easyui datagrid demo

    这个“jquery easyui datagrid demo”包含了一些关于如何使用 jQuery EasyUI 中 Datagrid 组件的示例和相关文档,帮助我们理解和应用 Datagrid。 首先,`datagrid.doc` 文件很可能是 Datagrid 的简要说明文档,它...

    jqueryEasyUI

    **jQuery EasyUI 知识点详解** jQuery EasyUI 是一个基于 jQuery 的前端框架,它提供了一系列的 UI 组件,使得开发者能够快速...在实际项目中,熟练掌握 jQuery EasyUI 的使用技巧和 API,对于提升工作效率至关重要。

    jquery easyui 帮助文档

    这个“jQuery EasyUI 帮助文档”包含了全面的API参考和使用指南,对于开发者来说是极具价值的资源。 jQuery EasyUI 的核心在于其组件系统,这些组件包括但不限于数据网格(datagrid)、下拉菜单(combobox)、...

    初试JqueryEasyUI(附Demo)

    在初试 Jquery EasyUI 的 Demo 中,你可以通过阅读 `初试JqueryEasyUI.docx` 和 `初试JqueryEasyUI.mht` 文件了解详细步骤和示例代码。`EasyUIDemo` 文件可能是包含实际演示的 HTML 和 JavaScript 代码,可以运行...

    jQuery EasyUI的api

    jQuery EasyUI 是一个基于 jQuery 的前端框架,它简化了HTML用户界面的开发,提供了一系列易于使用的组件,如对话框、表格、菜单、按钮等。EasyUI 的API是开发者理解和使用这个框架的关键。以下是对jQuery EasyUI ...

    jQuery EasyUI 1.5.1 版 API 中文版

    jQuery EasyUI 是一个基于 jQuery 的前端框架,它简化了网页用户界面开发,提供了一系列易于使用的组件,如对话框、表格、菜单、按钮等。版本 1.5.1 是一个重要的更新,它不仅包含了之前版本的所有功能,还进行了...

    jQuery EasyUI v1.3.5官方API中文版

    jQuery EasyUI 是一款非常棒的WEB前端UI框架,很多朋友都在找jQuery EasyUI API 中文文档,本次给大家提供的就是jQuery EasyUI v1.3.5官方API中文版,有需要的拿去用吧

    jQuery EasyUI 1.9.4 chm文档

    针对jQuery EasyUI的1.9.0的在线帮助文档进行整理,生成chm文件,便于开发时或者离线对easyi控件的属性、文法、事件等内容的查看。

    jQuery EasyUI 参考资源合集

    这个参考资源合集包含了三个重要的文档,分别为 jQuery EasyUI 1.2 API 文档、jQuery.EasyUI_API_1.2.3.pdf 和 jquery_easyui_manual_cn_中文说明书,它们是学习和使用 jQuery EasyUI 的宝贵资料。 首先,`jQuery ...

    ssm+jqueryeasyui案例

    在这个"ssm+jqueryeasyui案例"中,我们可以学习如何将这三者结合,构建出功能完善的Web应用。首先,我们需要在项目中引入SSM框架的相关依赖,包括Spring的核心库、SpringMVC的Servlet容器配置以及MyBatis的数据库...

    jQuery EasyUI v1.10.0.zip

    7. **license_freeware.txt**:许可协议文件,规定了使用jQuery EasyUI的条款和条件,确认它是免费软件,但可能有特定的使用限制。 8. **readme.txt**:一般包含额外的指南,可能包括安装步骤、常见问题解答或者...

    SSH+Jquery easyUI后台管理系统

    5. 设计视图:使用jQuery EasyUI创建管理界面,通过AJAX技术与后台进行异步通信,实现数据的动态加载和交互。 6. 测试与优化:对整个系统进行功能测试和性能优化,确保系统稳定运行。 总结起来,SSH+jQuery EasyUI...

    jquery easyui + Ztree +折线图

    例如,如果你已经掌握了jQuery和EasyUI,那么可以进一步学习如何使用这些图表库与EasyUI集成,为你的应用添加数据可视化的功能。 在实际项目中,jQuery EasyUI、ZTree和折线图的组合可以创建出复杂的管理界面。比如...

    Jquery EasyUI 日历Demo

    JQuery EasyUI 是一个基于 jQuery 的轻量级前端框架,它提供了一系列的 UI 组件,如对话框、表格、树形菜单、按钮等,用于快速构建用户界面。在这个"Jquery EasyUI 日历Demo"中,我们将探讨如何利用 EasyUI 的日历...

    jQuery EasyUI EasyUI 组件范例

    ### jQuery EasyUI简介 jQuery EasyUI 是一个基于 jQuery 的用户界面插件集合,它提供了一套丰富的 UI 组件库,包括按钮、表单、网格、树形结构等,可以极大地简化前端开发工作,使得开发者能够更加专注于业务逻辑...

    jQuery easyui 全套文件

    jQuery EasyUI 是一个基于 jQuery 的前端开发框架,它简化了网页界面的构建,提供了一系列易于使用的组件和插件,使得开发者能够快速构建出美观、功能丰富的用户界面。这个压缩包包含的是 jQuery EasyUI 的全套文件...

    jQuery EasyUI 1.3.6 离线简体中文API文档

    最新版本的jQuery EasyUI 1.3.6版全中文API汉化文档火热出炉,由于很多人和我要chm格式的,所以本次API我提供了2种版本的API,一个还是以前的EXE格式,另外一个就是人气颇高的chm格式。本次还将EasyUI 1.3.6版直接...

    jquery easyui及教程

    `jquery+easyui_api培训文档.doc` 是一份培训文档,可能包含了使用 jQuery EasyUI 进行开发的实践指导和示例代码,对于初学者来说非常有用。这份文档可能涵盖了创建基本的页面结构、使用各种组件(如对话框、表单、...

    jQueryEasyUI1.3.6版本

    jQuery EasyUI 是一个基于 jQuery 的前端框架,它提供了一系列易于使用的组件,帮助开发者快速构建用户界面。1.3.6 版本是该框架的一个稳定版本,包含了丰富的功能和优化,旨在提高开发效率和用户体验。 在jQuery ...

Global site tag (gtag.js) - Google Analytics