`
zhengjj_2009
  • 浏览: 153596 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

YUI2.8 实现datatable从server端动态获取数据,并实现分页功能(下)

阅读更多

7、编写JSP的程序,文件的路径:/yuiapp/WebRoot/pages/datatable/datatable01.jsp

文件的内容:

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
 String path = request.getContextPath();
 String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<%String sysPath =basePath+"appjs/yuijs/build"; %>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>datatable_01</title>
<style type="text/css">
/*margin and padding on body element
  can introduce errors in determining
  element position and are not recommended;
  we turn them off as a foundation for YUI
  CSS treatments. */
body {
 margin:0;
 padding:0;
}
</style>

<link rel="stylesheet" type="text/css" href="<%=sysPath %>/fonts/fonts-min.css" />
<link rel="stylesheet" type="text/css" href="<%=sysPath %>/paginator/assets/skins/sam/paginator.css" />
<link rel="stylesheet" type="text/css" href="<%=sysPath %>/datatable/assets/skins/sam/datatable.css" />
<link rel="stylesheet" type="text/css" href="<%=sysPath %>/container/assets/skins/sam/container.css" />
<script type="text/javascript" src="<%=sysPath %>/yahoo-dom-event/yahoo-dom-event.js"></script>
<script type="text/javascript" src="<%=sysPath %>/connection/connection-min.js"></script>
<script type="text/javascript" src="<%=sysPath %>/json/json-min.js"></script>
<script type="text/javascript" src="<%=sysPath %>/element/element-min.js"></script>
<script type="text/javascript" src="<%=sysPath %>/paginator/paginator-min.js"></script>
<script type="text/javascript" src="<%=sysPath %>/datasource/datasource-min.js"></script>
<script type="text/javascript" src="<%=sysPath %>/datatable/datatable-min.js"></script>
<script type="text/javascript" src="<%=sysPath %>/dragdrop/dragdrop-min.js"></script>
<script type="text/javascript" src="<%=sysPath %>/container/container-min.js"></script>

<!--begin custom header content for this example-->
<style type="text/css">
/* custom styles for this example */
.yui-skin-sam .yui-dt-liner { white-space:nowrap; }
</style>

</head>
<body class="yui-skin-sam">
<div class="exampleIntro">
 <p>datatable_01 practice</p>   
</div>
<div id="dynamicdata"></div>
<script type="text/javascript">
YAHOO.namespace("datatable_01");
YAHOO.datatable_01.DynamicData = function() {  
    // Column definitions
    var myColumnDefs = [
            {key:"id"},
            {key:"quantity"},
            {key:"amount"},
            {key:"title"}
    ];
    //var myDataSource = new YAHOO.util.DataSource("/yuitab/do_getInstList.action?name=test&pageSize=10&");
    var myDataSource = new YAHOO.util.DataSource("/yuitab/do_getBookList.action?");
    myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSON;
    myDataSource.responseSchema = {
        resultsList: "records",
        fields: [
            {key:"id"},
            {key:"quantity"},
            {key:"amount"},
            {key:"title"}          
        ],
        metaFields: {
            totalRecords: "totalRecords" // Access to value in the server response
        }
    };
   
    // DataTable configuration
    var myConfigs = {
        initialRequest: "pageSize=10&sort=id&dir=asc&startIndex=0",//"sort=ptInsId&dir=asc&startIndex=0", // Initial request for first page of data
        dynamicData: true, // Enables dynamic server-driven data
        sortedBy : {key:"id", dir:YAHOO.widget.DataTable.CLASS_ASC}, // Sets UI initial sort arrow
        paginator: new YAHOO.widget.Paginator(
                {   rowsPerPage:10,
                 firstPageLinkLabel : "首页",  
                 lastPageLinkLabel : "末页",  
                 previousPageLinkLabel:"上页", 
                 nextPageLinkLabel:"下页" 
            }) // Enables pagination
    };
   
    // DataTable instance
    var myDataTable = new YAHOO.widget.DataTable("dynamicdata", myColumnDefs, myDataSource, myConfigs);
    // Update totalRecords on the fly with value from server
    myDataTable.handleDataReturnPayload = function(oRequest, oResponse, oPayload) {
        oPayload.totalRecords = oResponse.meta.totalRecords;
        return oPayload;
    }   
    return {
        ds: myDataSource,
        dt: myDataTable
    };       
}();
</script>

</body>
</html>

 

8、部署应用,启动tomcat,进行测试。

http://127.0.0.1:8080/yuiapp/pages/datatable/datatable01.jsp

 

点击上一页下一页的链接,则可以看到打印出对应的调试信息。

 getBookList is called....startIndex=0
 getBookList is called....startIndex=10
 getBookList is called....startIndex=0

 

当页面发送相同的请求时(包括参数相同),则不打印了,我觉得YUI会解析请求的

 

附件是我开发的程序,把YUI和jar给删除了。

 

我的个人联系方式是QQ 604320137 手机是1343917 2635 或 133 9175 8739,加我请注明是javaeye的yui。

 

  • 大小: 25.7 KB
分享到:
评论

相关推荐

    JavaScript YUI 2.8: DataTable jquery form 异步请求显示数据分页

    综上所述,通过结合使用 JavaScript YUI 2.8 的 DataTable 和 jQuery form 插件,我们可以创建一个动态、交互式的表格,能够异步请求数据并实现分页功能。在实际项目中,还需要注意性能优化,比如使用服务器端分页...

    使用YUI2.8 实现多选 ,支持Ctrl 和Shift

    使用YUI2.8 仿照JQuery UI 的select插件写的一个函数 详情见我的博客http://hi.baidu.com/hjzheng

    使用YUI2.8 实现多个LI拖拽

    这是对YUI拖拽例子的改编,大家可以去访问的博客 http://hi.baidu.com/hjzheng

    dwr-yui实现分页

    DWR (Direct Web Remoting) 是一个开源的Java库,它允许JavaScript在浏览器端与...DWR提供了便捷的前后端通信机制,而YUI提供了强大的UI组件,两者结合使得开发者能够快速、高效地构建具有分页功能的动态Web应用。

    YUI2.8.1包括demo api是学习的好东西

    6. **数据管理**:YUI Data模块提供了数据存储和操作的功能,例如数据模型、数据视图和数据绑定,为复杂的数据驱动应用提供了基础。 7. **布局管理**:YUI的Layout Manager模块可以帮助开发者创建响应式和自适应的...

    YUI2 Tabview分页

    http://hi.baidu.com/hjzheng

    yui_3.8.1.zip

    1. **DataTable**:用于创建交互式表格,支持排序、分页、筛选等功能。 2. **Charts**:基于SVG或VML的图表库,可以生成各种统计图表,如柱状图、饼图、线图等。 3. **Uploader**:提供文件上传功能,支持多文件...

    YUI.rar_html_javascript YUI_yui_yui javascript

    5. **数据表格**:YUI的DataTable组件可用于展示和操作大量数据,支持排序、过滤和分页等功能。 通过学习和实践这些示例,开发者可以深入了解YUI的功能和用法,提高自己的前端开发技能。 总结来说,YUI是一个强大...

    Yahoo YUI 插件库

    1. **数据管理**:YUI提供了一些用于处理和展示数据的插件,例如DataGrid,它可以将数据以表格形式呈现,支持排序、过滤和分页等功能。还有DataSource组件,可以方便地从服务器获取和管理数据。 2. **图表和可视化*...

    yui 资源包

    5. **数据绑定**:YUI的数据绑定功能,让数据和视图之间的同步变得容易,减少了DOM操作,提高性能。 二、YUI的组件体系 1. **DOM操作**:YUI的Node和Selector模块提供了高效的DOM操作接口,包括选择、操作、遍历DOM...

    YUI-ajax框架开发文档

    在"YUI-ajax框架开发文档"中,我们可以深入探讨YUI如何通过其Ajax组件实现异步数据通信。 YUI中的Ajax框架主要由`YAHOO.util.Connect`和`YAHOO.widget.DataSource`两个关键部分组成。`YAHOO.util.Connect`是YUI的...

    YUI3 中tree的两种实现

    在“YUI3 中tree的两种实现”博文中,作者可能介绍了利用Gallery中的扩展来创建更复杂或具有特定功能的树。例如,可能使用了`treeview-dragdrop`模块,允许用户通过拖放操作重新排序或移动节点。 ```javascript var...

    Struts2+JSON+YUI组合应用之二构建RichClient

    2. **YUI作为前端展示**:利用YUI的组件和API,可以创建丰富的用户界面,如使用YUI的DataTable展示从服务器获取的JSON数据,或者使用YUI的Form组件进行表单验证,并通过AJAX发送到Struts2 Action进行处理。...

    针对YUI框架API

    YUI的DataSource和Model组件支持异步数据获取和数据模型的建立,可以方便地与服务器进行数据交互,并通过ModelList进行数据集合的管理。 6. **动画效果** Animation模块提供了丰富的动画效果,可以实现平滑的元素...

    YUI+Ant 实现JS CSS压缩

    标题:“YUI+Ant 实现JS CSS压缩” 在Web开发中,为了提高页面加载速度和优化用户体验,开发者通常会使用代码压缩工具来减少JavaScript(JS)和CSS文件的大小。YUI Compressor是 Yahoo! 推出的一款开源的压缩工具,...

    layui实现数据表格table分页功能(ajax异步)

    layui实现数据表格table分页功能,异步加载,表格渲染,含条件查询。 一、引入layUI的相关资源 &lt;link rel=stylesheet href=${ctxPath}/vendor/layui/css/layui.css &gt; [removed][removed] 二、html页面代码 ...

    YUI3 实现overlay展开是tree,并且树节点可以拖拽-drag和drop

    在提供的链接中,博主`ttwang`分享了关于如何实现这个功能的具体示例代码,你可以通过阅读博客文章获取更详细的步骤和代码实现。此外,了解和掌握`YUI3`的相关文档和API参考也非常重要,它们将帮助你更好地理解和...

    yui3-master.zip

    通过“yui3-master.zip”,我们可以研究并理解这些动画是如何实现的。 6. **IO与Ajax** 在“io”模块中,YUI3提供了对异步数据请求的支持,如GET、POST等HTTP方法,这在构建Web应用时非常关键。开发者可以通过...

    YUI-EXT使用详解

    而YUI-EXT则是对YUI功能的补充,它主要专注于用户界面组件的实现,提供了丰富的UI元素和工具,使得开发者可以快速构建出专业级别的Web应用界面。 在YUI-EXT中,有几个核心概念值得深入理解: 1. **组件...

Global site tag (gtag.js) - Google Analytics