- 浏览: 780366 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (480)
- Spring (12)
- Hibernate (8)
- Struts2 (4)
- Java 基础-JDK-类-接口-URI-专题研究 (27)
- 线程、线程池、多线程高并发高可用、Socket通信 (15)
- Oracle数据库 (20)
- 一般-前端js-html-其它 (25)
- JYSK-互联网金融、金融科技、支付、公司、新闻等等 (8)
- Ajax-jQuery开源框架 (7)
- Json-轻量级的数据交换格式 (14)
- JavaScript (15)
- Jsp、Servlet、Servlet+JSP+JavaBean开发模式(MVC) (18)
- Html-JavaScript-前端-调用接口 (12)
- Sql Server 2005 (6)
- 正则表达式 (2)
- Java tools (18)
- 加签与验签、加密与解密 (3)
- Ajax技术核心-xmlHttpRequest(简称XHR) (6)
- xml-数据交换格式 (3)
- 信息采集 (1)
- Http - Https - HttpClient - httpCore-SSL-TLS (10)
- HtmlParser (2)
- 标签库 (1)
- SMS (2)
- jxl-导入导出 (4)
- poi-导入导出 (2)
- 定时器Timer+Quartz (6)
- 工作流引擎JBPM3.2.3 (4)
- 工作流引擎JBPM4 (0)
- 数据源-JNDI (0)
- tomcat、weblogic等应用服务器 (6)
- 工作流引擎jbpm5 (1)
- 搜索引擎Lucene (1)
- ant (1)
- 大数据-HBase (2)
- bigtable (0)
- 数据库设计 (4)
- jquery tab (0)
- mybatis (5)
- jquery ui 1.10.3 (5)
- Jboss7 (1)
- 规则引擎drools (0)
- 工作流引擎Activiti5 (0)
- 数据库-用户自定义函数 (0)
- 数据库-存储过程 (2)
- 数据库-视图 (0)
- 数据库-触发器 (0)
- 数据库-sql (2)
- highcharts-图表工具 (1)
- sql server 2008 (6)
- 诗词-工作室 (2)
- 数据割接 (1)
- GIS-地理信息系统 (2)
- RS-遥感技术 (1)
- GPS-全球定位系统 (1)
- java整合flex_RIA开发 (3)
- C#编程语言 (5)
- webservice_axis2_cxf_soap_wsdl (2)
- sql语句 (3)
- Flex_WebService_GIS (25)
- PHP编程语言 (0)
- ExtJS4.2 (1)
- Spring mvc (5)
- EasyUI1.4.2 (16)
- 日期时间工具类 (4)
- 随机数 (1)
- Arcgis api for js (0)
- Mysql数据库 (9)
- 移动互联网 java html5/flash socket netty (0)
- API接口 (1)
- AndroidStudio (0)
- Git (2)
- Maven (5)
- IDEA (0)
- 大数据-Hadoop (2)
- JPA (0)
- Spring boot (4)
- JSF (0)
- nginx_lua_module_redis (2)
- Activiti (1)
- bootstrap (1)
- AngularJS (10)
- 数据库-索引 (1)
- Linux及其连接工具SSH (4)
- java日志管理 (2)
- islider滑动控件 (1)
- jquery (1)
- 异常处理Exception (1)
- 秒杀与类秒杀系统 (1)
- 连接数据库、数据库连接池 (4)
- 数据库-临时表 (1)
- 软件设计模式-单例、多例、代理、工厂、观察者 (3)
- 集合框架 (5)
- 人工智能--Artificial intelligence、神经网络算法、机器学习 (1)
- 分布式应用 (1)
- SOA服务-Dubbo框架-Thrift框架 (2)
- Zookeeper分布式服务框架 (2)
- intellij idea (1)
- python编程语言 (0)
- 消息队列_MQ (0)
- 消息队列_RabbitMQ (2)
- 消息队列_ActiveMQ (1)
- 消息队列_Kafka (2)
- 缓存_Redis (4)
- 缓存_Memcache (0)
- 缓存_Ehcache (0)
- ivy-ivyde (1)
- google-protocol buffers (1)
- 正向代理-正向代理服务器 (1)
- 反向代理-反向代理服务器 (1)
- JVM内存模型 (0)
- Thunder框架 (1)
- NIO-非阻塞式IO (0)
- 软件测试、性能测试 (1)
- 序列化、Serializable接口、Externalizable接口 (3)
- 线程池-ExecutorService-ThreadPoolExecutor (1)
- web.xml (1)
- java开发-java工具-实用工具网站 (6)
- 医疗 (1)
- Filter-过滤器 (2)
- Unicode码-双字节字符编码 (1)
- OpenResty (1)
- 计算机网络 (1)
- eclipse_myeclipse_intellij idea (3)
- Enum (1)
- 大数据--Big Data (1)
- 云计算--Cloud computing (1)
- Elastic-Job (1)
- Redis (2)
- 文件流-IO操作 (6)
- 计算机基础知识 (1)
- Hessian-二进制RPC协议 (1)
- String类 (3)
- BigDecimal类 (1)
- java重要接口 (1)
- ReactJS (1)
- 跨域问题 (0)
- Map (1)
- 注解 (1)
- ASCII码-单字节字符编码 (1)
- 微服务、微服务架构 (2)
- RPC协议、RPC服务、RPC框架 (0)
- java反射 (1)
- java项目之classpath (1)
- 经典算法-树 (1)
- listener-监听器 (1)
- Interceptor-拦截器 (1)
- pojo javabean (2)
- 计算机科学与技术-进阶 (1)
- 代码规范与文档编写 (1)
- UML-统一建模语言 (1)
- 对接微信、支付宝 (3)
- 压力测试 (1)
- 办公软件-Excel (1)
- 办公软件-PPT (0)
- UTF8、GBK编码 (1)
- 微服务架构:Spring Cloud架构-Dubbo架构 (6)
- Nginx (1)
- 点滴业务 (1)
- form表单-json数据-转换与接口调用 (1)
- Junit单元测试 (1)
- 大数据-Spark (1)
- 大数据-Storm (1)
- 数据库事务-Spring事务 (0)
- elasticsearch (1)
- windows (1)
最新评论
后台上: try { List<UserInfoBean> list =page.getItems(); JsonConfig jsonConfig = new JsonConfig(); jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor()); JSONArray json = JSONArray.fromObject(list, jsonConfig); JSONObject jsons=new JSONObject(); jsons.put("page", page); jsons.element("arr", json); System.out.println(jsons); response.getWriter().print(jsons); } catch (Exception e) { logger.error(e.getMessage()); logger.error(e.getMessage() + "查找所有用户出错!"); } js上: <script type="text/javascript"> var pageIndex = 0;//首页 var pageSize = 2;//每页最多2条记录 $(function () { $("#btnSearch").click(function () { /* name 顾客的名字, 文本框中输入的内容 0 表示的是第1页 2 每页的大小 */ var name = $("#txtSearch").val(); pageIndex = 0; AjaxGetData(name, pageIndex, pageSize); }); }); function AjaxGetData(name, index, size) { $.ajax({ url: "<%=basePath%>UserInfoServlet", type: "Get", data: "Name=" + name + "&PageIndex=" + index + "&PageSize=" + size+"&doaction=userListTest", dataType: "json", success: function (data) { var htmlStr = ""; htmlStr += "<table>"; htmlStr += "<thead>"; htmlStr += "<tr><td>aa</td><td>bb</td><td>cc</td><td>dd</td><td>ee</td><td>ff</td></tr>"; htmlStr += "</thead>"; htmlStr += "<tbody>"; for (var i = 0; i < data.arr.length; i++) { htmlStr += "<tr>"; htmlStr += "<td>" + data.arr[i].realName + "</td>" +"<td>"+ data.arr[i].realName + "</td>" + "<td>"+ data.arr[i].userNo + "</td>" + "<td>"+ data.arr[i].position + "</td>" +"<td>"+data.arr[i].regTime+"</td>" +"<td>"+ data.arr[i].realName + "</td>"; htmlStr += "</tr>"; } htmlStr += "</tbody>"; htmlStr += "<tfoot>"; htmlStr += "<tr>"; htmlStr += "<td colspan='6'>"; htmlStr += "每页显示<select id='pageSize'><option value='5'>5</option><option value='10'>10</option><option value='15'>15</option><option value='20'>20</option><option value='25'>25</option></select>条 <span>共" + data.page.totalCount + "条记录;共<span id='count'>" + (data.page.totalCount % 2 == 0 ? parseInt(data.page.totalCount / 2) : parseInt(data.page.totalCount / 2 + 1)) + "</span>页;"+"当前第"+data.page.currentPage+"页;" + "</span>"; htmlStr += "<a href='javascript:void' onclick='GoToFirstPage()' id='aFirstPage' >首 页</a> "; htmlStr += "<a href='javascript:void' onclick='GoToPrePage()' id='aPrePage' >前一页</a> "; htmlStr += "<a href='javascript:void' onclick='GoToNextPage()' id='aNextPage'>下一页</a> "; htmlStr += "<a href='javascript:void' onclick='GoToEndPage()' id='aEndPage' >尾 页</a> "; htmlStr += "<input type='text' /><input type='button' value='跳转' onclick='GoToAppointPage(this)' /> "; htmlStr += "</td>"; htmlStr += "</tr>"; htmlStr += "</tfoot>"; htmlStr += "</table>"; $("#divSearchResult").html(htmlStr); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(XMLHttpRequest); alert(textStatus); alert(errorThrown); } }); } //首页 function GoToFirstPage() { pageIndex = 0; AjaxGetData($("#txtSearch").val(), pageIndex, pageSize); } //前一页 function GoToPrePage() { pageIndex -= 1; pageIndex = pageIndex >= 0 ? pageIndex : 0; AjaxGetData($("#txtSearch").val(), pageIndex, pageSize); } //后一页 function GoToNextPage() { if (pageIndex + 1 < parseInt($("#count").text())) { pageIndex += 1; } AjaxGetData($("#txtSearch").val(), pageIndex, pageSize); } //尾页 function GoToEndPage() { pageIndex = parseInt($("#count").text()) - 1; AjaxGetData($("#txtSearch").val(), pageIndex, pageSize); } //跳转 function GoToAppointPage(e) { var page = $(e).prev().val(); if (isNaN(page)) { alert("请输入数字!"); } else { var tempPageIndex = pageIndex; pageIndex = parseInt($(e).prev().val())-1; if (pageIndex < 0 || pageIndex >= parseInt($("#count").text())) { pageIndex = tempPageIndex; alert("请输入有效的页面范围!"); } else { AjaxGetData($("#txtSearch").val(), pageIndex, pageSize); } } } </script> 前台页面上: <div> <input type="text" id="txtSearch" /> <input type="button" id="btnSearch" value="Search" /> </div> <div id="divSearchResult"> </div>
升级版:
<script type="text/javascript"> var pageIndex = 1;//首页 var pageSize= 2;//每页最多2条记录 $(function () { var name = $("#checkByName").val(); var pageSize= $("#currentPageSize").val(); ajaxGetListData(name, pageIndex, pageSize); }); function ajaxGetListData(name, index, size) { $.ajax({ url: "<%=basePath%>UserInfoServlet", type: "post", data: "Name=" + name + "¤tPage=" + index + "&PageSize=" + size+"&doaction=userListTest", dataType: "json", success: function (data) { var htmlStr = ""; htmlStr += "<table class='tab-list' width='99%'>"; htmlStr += "<thead>"; htmlStr +="<tr class='list-header'>" +"<td width='5%'>序号</td>" +"<td width='5%'><input id='checkAll' name='checkAll' type='checkbox' /></td>" +"<td width='30%'>用户姓名</td>" +"<td width='20%'>工号</td>" +"<td width='20%'>职位</td>" +"<td width='20%'>创建时间</td>" +"</tr>"; htmlStr += "</thead>"; htmlStr += "<tbody>"; for (var i = 0; i < data.arr.length; i++) { htmlStr += "<tr>"; htmlStr += "<td>" + (i+1) + "</td>" +"<td><input class='check' id='checkOne' name='checkOne' type='checkbox' value='"+data.arr[i].key+"' /></td>" + "<td>"+ data.arr[i].realName + "</td>" + "<td>"+ data.arr[i].userNo+ "</td>" +"<td>"+data.arr[i].position+"</td>" +"<td>"+ data.arr[i].regTime + "</td>"; htmlStr += "</tr>"; } if(data.arr.length==0){ htmlStr += "<tr style='text-align: center'><td colspan='6'><font color='#cd0a0a'>"+ '暂无记录' + "</font></td></tr>"; } htmlStr += "</tbody>"; htmlStr += "<tfoot>"; htmlStr += "<tr>"; htmlStr += "<td colspan='3' style='text-align: left;border-right: 0px;'>"; htmlStr += "<font color='grey'>显示<select id='selfPageSize' onchange='javascript:changePageSize()' ><option value='"+data.page.pageSize+"'>"+data.page.pageSize+"</option><option value='20'>20</option><option value='30'>30</option></select>条/页_<span>全部" + data.page.totalCount + "条记录_共<span id='count'>" + data.page.totlePages+ "</span>页_"+"当前第"+data.page.currentPage+"页" + "</span></font>"; htmlStr += "</td>"; htmlStr += "<td colspan='3' style='text-align: right;border-left: 0px;'>"; if(data.page.currentPage > 1){ htmlStr += "<a href='javascript:void' onclick='GoToFirstPage()' id='aFirstPage' >首 页</a> "; }else{ htmlStr += "<font color='grey'>首 页</font>  "; } if((data.page.currentPage - 1 ) > 0 ){ htmlStr +="<a href='javascript:void' onclick='GoToPrePage()' id='aPrePage'>上一页</a>  "; }else{ htmlStr +="<font color='grey'>上一页</font>  "; } if((data.page.currentPage+1) > data.page.totlePages){ htmlStr += "<font color='grey'>下一页</font> "; }else{ htmlStr += "<a href='javascript:void' onclick='GoToNextPage()' id='aNextPage'>下一页</a> "; } if(data.page.currentPage < data.page.totlePages){ htmlStr += "<a href='javascript:void' onclick='GoToEndPage()' id='aEndPage' >尾 页</a> "; }else{ htmlStr += "<font color='grey'>尾 页</font>  "; } htmlStr += "<input id='pageNum' name='pageNum' class='input-page' type='text' /><input type='button' value='跳转' onclick='GoToAppointPage(this)' style='width: 60px; height: 25px;font-size: 12px;'/> "; htmlStr += "</td>"; htmlStr += "</tr>"; htmlStr += "</tfoot>"; htmlStr += "</table>"; $("#divSearchResult").html(htmlStr); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(XMLHttpRequest); alert(textStatus); alert(errorThrown); } }); } //首页 function GoToFirstPage() { pageIndex = 1; ajaxGetListData($("#checkByName").val(), pageIndex, $("#currentPageSize").val()); } //上一页 function GoToPrePage() { pageIndex -= 1; pageIndex = pageIndex >= 0 ? pageIndex : 0; ajaxGetListData($("#checkByName").val(), pageIndex, $("#currentPageSize").val()); } //下一页 function GoToNextPage() { if (pageIndex < parseInt($("#count").text())) { pageIndex += 1; } ajaxGetListData($("#checkByName").val(), pageIndex, $("#currentPageSize").val()); } //尾页 function GoToEndPage() { pageIndex = parseInt($("#count").text()); ajaxGetListData($("#checkByName").val(), pageIndex, $("#currentPageSize").val()); } //跳转 function GoToAppointPage(e) { var page = $(e).prev().val(); if (isNaN(page)) { alert("请输入数字!"); } else { var tempPageIndex = pageIndex;//pageIndex==currentPage pageIndex = parseInt(page); if (pageIndex < 0 || pageIndex > parseInt($("#count").text())) { pageIndex = tempPageIndex; alert("请输入有效的页面范围!"); }else { ajaxGetListData($("#checkByName").val(), pageIndex, $("#currentPageSize").val()); } } } </script>
再升级:
//ajax获取列表 function ajaxGetListData(name, index, size) { $.ajax({ url: "../../UserInfoServlet", type: "post", data: "checkByName=" + name + "¤tPage=" + index + "&PageSize=" + size+"&doaction=userListTest", dataType: "json", success: function (data) { var htmlStr = ""; htmlStr += "<table class='tab-list' width='99%'>"; htmlStr += "<thead>"; htmlStr +="<tr class='list-header'>" +"<td width='5%'>序号</td>" +"<td width='5%'><input id='checkAll' name='checkAll' type='checkbox' /></td>" +"<td width='30%'>用户姓名</td>" +"<td width='20%'>工号</td>" +"<td width='20%'>职位</td>" +"<td width='20%'>创建时间</td>" +"</tr>"; htmlStr += "</thead>"; htmlStr += "<tbody>"; for (var i = 0; i < data.arr.length; i++) { htmlStr += "<tr>"; htmlStr += "<td>" + (i+1) + "</td>" +"<td><input class='check' id='checkOne' name='checkOne' type='checkbox' value='"+data.arr[i].key+"' /></td>" + "<td>"+ data.arr[i].realName + "</td>" + "<td>"+ data.arr[i].userNo+ "</td>" +"<td>"+data.arr[i].position+"</td>" +"<td>"+ data.arr[i].regTime + "</td>"; htmlStr += "</tr>"; } if(data.arr.length==0){ htmlStr += "<tr style='text-align: center'><td colspan='6'><font color='#cd0a0a'>"+ '暂无记录' + "</font></td></tr>"; } htmlStr += "</tbody>"; htmlStr += "<tfoot>"; htmlStr += "<tr>"; htmlStr += "<td colspan='3' style='text-align: left;border-right: 0px;'>"; htmlStr += "<font color='grey'>显示"; if(data.page.pageSize==2){ htmlStr += "<select id='selfPageSize' onchange='javascript:changePageSize()' ><option value='"+data.page.pageSize+"'>"+data.page.pageSize+"</option><option value='10'>10</option><option value='20'>20</option><option value='30'>30</option></select>"; } else if(data.page.pageSize==10){ htmlStr += "<select id='selfPageSize' onchange='javascript:changePageSize()' ><option value='"+data.page.pageSize+"'>"+data.page.pageSize+"</option><option value='2'>2</option><option value='20'>20</option><option value='30'>30</option></select>"; } else if(data.page.pageSize==20){ htmlStr += "<select id='selfPageSize' onchange='javascript:changePageSize()' ><option value='"+data.page.pageSize+"'>"+data.page.pageSize+"</option><option value='2'>2</option><option value='10'>10</option><option value='30'>30</option></select>"; } else if(data.page.pageSize==30){ htmlStr += "<select id='selfPageSize' onchange='javascript:changePageSize()' ><option value='"+data.page.pageSize+"'>"+data.page.pageSize+"</option><option value='2'>2</option><option value='10'>10</option><option value='20'>20</option></select>"; } htmlStr += "条/页_<span>全部" + data.page.totalCount + "条记录_共<span id='count'>" + data.page.totlePages+ "</span>页_"+"当前第"+data.page.currentPage+"页" + "</span></font>"; htmlStr += "</td>"; htmlStr += "<td colspan='3' style='text-align: right;border-left: 0px;'>"; if(data.page.currentPage > 1){ htmlStr += "<a href='javascript:void' onclick='GoToFirstPage()' id='aFirstPage' >首 页</a> "; }else{ htmlStr += "<font color='grey'>首 页</font>  "; } if((data.page.currentPage - 1 ) > 0 ){ htmlStr +="<a href='javascript:void' onclick='GoToPrePage()' id='aPrePage'>上一页</a>  "; }else{ htmlStr +="<font color='grey'>上一页</font>  "; } if((data.page.currentPage+1) > data.page.totlePages){ htmlStr += "<font color='grey'>下一页</font> "; }else{ htmlStr += "<a href='javascript:void' onclick='GoToNextPage()' id='aNextPage'>下一页</a> "; } if(data.page.currentPage < data.page.totlePages){ htmlStr += "<a href='javascript:void' onclick='GoToEndPage()' id='aEndPage' >尾 页</a> "; }else{ htmlStr += "<font color='grey'>尾 页</font>  "; } htmlStr += "<input id='pageNum' name='pageNum' class='input-page' type='text' /><input type='button' value='跳转' onclick='GoToAppointPage(this)' style='width: 60px; height: 25px;font-size: 12px;'/> "; htmlStr += "</td>"; htmlStr += "</tr>"; htmlStr += "</tfoot>"; htmlStr += "</table>"; $("#divSearchResult").html(htmlStr); } }); }
发表评论
-
JSON数据交换、jsonString转jsonObject或jsonArray、json转string方法;string转json;
2013-09-24 16:52 2164【JSON数据交换格式在系统间数据调用的处理】 publi ... -
Json--Jackson/Gson/fastJson
2013-09-24 16:52 4741、Jackson --Jackson 高性能的JSON处理 ... -
后台将map放入jsonobject中,前台从map中取值; JsonObject转map
2013-07-23 17:11 7904//后台 Map<String, Object> ... -
ajax-json-function
2013-07-02 11:20 750$.ajax({ url: " ... -
ajax动态生成table
2013-06-27 11:39 7765$(function(){ ajaxT(); }) ... -
java与json互相转换(解决日期问题),js显示json数据时出现日期类型显示[object,object]现象解决!
2013-06-26 14:33 3967JSON 即 JavaScript Object Natati ... -
js更新下拉列表select的值
2013-06-25 09:45 3003//所有版主 $(function(){ $( ... -
JSONArray用与不用的区别
2013-06-25 09:24 1025List<TopicSectionBean> Mi ... -
动态从数据库中获取数据填充Select
2013-06-24 17:52 6354//所有版块 $(function(){ getM ... -
addMissiveNo.jsp复杂js判断--checkbox--json--全选--反选--取消
2012-07-24 15:03 873[align=left][size=large]<%@ ... -
下拉列表select中使用ajax的json数据交换格式动态改变div层里面的复选框checkbox值
2012-07-24 09:48 3970align=left][size=large]function ... -
json checkbox java
2012-07-23 13:58 867<!-- <tr& ... -
下拉列表选择联动-ajax
2012-07-18 10:14 816//typeScope变化引起missiveType变化 fu ...
相关推荐
ajax前端JSON数据分页DEMO,里面有个data是模拟后台传来的数据
使用myeclipse开发的jQuery加上struts的ajax无刷新分页,一个完整的demo,经测试,可运行。里面的数据是通过自己的拼凑的JSON数据来实现的分页。
jQuery datatables小实例demo可实现ajax数据请求对接,模拟访问json文件,回显数据展示,可搜索、排序、自定也显示条数据、分页,动态表格代码。
分页demo, 模拟动态查询数据库的ajax请求json数据分页
已经整合成插件 将数据源存为json 并写好分页回调函数即可 内有详细说明 需要详细demo的可以留言 我看情况放上来
3.Ajax无刷新异步调用Struts2,返回Json数据,以用户注册为例。 4.在服务端分页查询功能,优点:实时性:跳页才查询。数据量小:只加载当前页的记录进行显示。 5.单数据源配置(兼容Tomcat和Weblogic)。 6.Hibernate...
jQuery datatables小实例demo可实现ajax数据请求对接,模拟访问json文件,回显数据展示,可搜索、排序、自定也显示条数据、分页,动态表格代码。
源码结构说明 1.AjaxDemo文件夹下为源文件 2.AjaxDemo.war为部署文件 <br>第20章 程序描述:本章将实现上传文件时显示进度条的功能。当上传文件时,客户端同时显示文件上传的进度,从而及时了解...
OK,上次完成了客户端的分页,这次我们就在上一次的Demo上进行修改,来实现服务端的分页~ js代码: [removed] $(document).ready(function() { $('#table_id_example').DataTable({ "bProcessing" : false, //...
$.getJSON('test/demo1.json', {curr: 6}, function(res){ //从第6页开始请求。返回的json格式可以任意定义 laypage({ cont: 'page1', //容器。值支持id名、原生dom对象,jquery对象。【如该容器为】:...
特征 : Ajax 用户管理 - Ajax 访问控制列表用户管理Json 配置管理 - 在 json 中为您的应用程序配置设置管理表格助手 - 仅通过配置生成带有排序和分页的表格未来版本计划: 前端 - Angular.js 集成后端 - SOA 架构...
该项目使用springmvc4.0.3 + Mybatis3.2.5 前端使用easyUI1.4.1 ...1.ajax请求,返回JSON数据,有中文乱码解决方案 2.登陆拦截,未登陆过的用户将跳转到登陆页面 3.邮件发送 4.企业级前端界面 5.前端数据分页、查询
Jquery DataTable是一个很不错的表格插件。 1、功能强大,支持分页、服务器分页、表头表格等样式自定义 2、支持jedit等其他Jquery插件 ...3、支持ajax、dom、json等数据源; 4、众多使用者的实例代码
不像其他一些框架只提供一个 blog 的粗糙 demo。 wojilu framework 希望自己是一个真正从实战中来,到实战中去的框架。 4、从整体上考虑各子框架的设计,比如前端 ajax 部分和 mvc 框架的结合;比如IOC依赖注入和mvc...
2,系统里面主要了一些ext的组件:grid,tab,combox,button,toolbutton等,基本上所有的ext组件在这里都有涉及,还有就是后台返回的所有数据都是采用json格式,这也是实现ajax传递的首选技术了。 3,这是将多数...
2,系统里面主要了一些ext的组件:grid,tab,combox,button,toolbutton等,基本上所有的ext组件在这里都有涉及,还有就是后台返回的所有数据都是采用json格式,这也是实现ajax传递的首选技术了。 3,这是将多数...