`

jmesa整合struts2标签分页

阅读更多

  原文来自 http://zghbwjl.blog.163.com/blog/static/12033667220108209424766/

 jmesa是一个集成了分页,导出,编辑,显示,排序,过滤等等功能强大的一个表格控件,但是用起来我还是有点不熟练,最近只是对分页进行了运用,其他的还有待于以后运用。下面我说一下如何使用jmesa进行分页.
        我用的是jmesa3.0,struts2,jdk要在1.5以上,做了简单的分页,这里主要是为了说名怎么用jmesa。
         首先下载jmesa,http://code.google.com/p/jmesa/downloads/list
         Jmesa源码的包结构大致分为四个包:
     org.jmesa.core Jmesa的核心包,所下面定义下最核心的接口CoreContext,CoreContext的作有容后再述,下面有四个子包:
    org.jmesa.core.filter 过滤器(按条件对纪录进行过滤)
    org.jmesa.core.sort 排序,该包提供纪录按指定列进行排序的功能
    org.jmesa.core.message I18N资源文件实现,使用Java内置的ResourceBundle实现。较简单
    org.jmesa.core.preference Jmesa选项,使用Java内置Properties实现。也较简单
   org.jmesa.limit 该包提供对纪录进行过滤的功能,limit的原意为限制,这里表现为过滤。Jmesa提供接口让开发人员自定义存放Limit的地方。该接口就是位于该包 下面子包state下的State接口,用来保存当前用户查询选项或参数的状态,这些参数可能包括过滤条件(Filter),排序条件(Sort)以及分 页信息等。
org.jmesa.view 视图,亦即展现。该包下定义了展现表格的接口及提供了两种实现,CSV及HTML。展现的原理很简单,一个视图拥有一个被展现的组件(Component)和渲染器(Renderer)。使用渲染器来渲染组件。那么自然而然,View包下面又看到两个子包:
org.jmesa.view.component 定义了表格需要的组件,即表格,行,列。
org.jmesa.view.renderer 定义表格所需要的一系列渲染器,如行渲染,列渲染,单元格渲染等
org.jmesa.web 为在Web环境中使用Jmesa提供的一系列便利的类。

以上稍微介绍了一下jmesa的源码分布包及类的意义。下面开始我的分页:
      大家肯定很关系页面了,首先看页面吧,
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<%@ taglib uri="/WEB-INF/tld/jmesa.tld" prefix="jmesa" %> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
   
    <title>My JSP 'list_user.jsp' starting page</title>
    <script type="text/javascript" src="http://zghbwjl.blog.163.com/blog/<%=path%>/js/jmesa/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="http://zghbwjl.blog.163.com/blog/<%=path%>/js/jmesa/jquery.js"></script> 
    <script type="text/javascript" src="http://zghbwjl.blog.163.com/blog/<%=path%>/js/jmesa/jquery.jmesa.js"></script>
    <script type="text/javascript" src="http://zghbwjl.blog.163.com/blog/<%=path%>/js/jmesa/jmesa.js"></script>              
    <link rel="stylesheet" type="text/css" href="http://zghbwjl.blog.163.com/blog/<%=path%>/css/jmesa/jmesa.css"></link>

  </head>
 
  <body>
  <form name="userForm" action="<%=path %>/users.action" method="post">
      <jmesa:struts2TableModel items="${items}" id="user_table" var="bean" stateAttr="restore" >
          <jmesa:htmlTable width="600" caption="用户信息">
              <jmesa:htmlRow uniqueProperty="username">
                  <jmesa:htmlColumn property="username" />
                  <jmesa:htmlColumn property="password"/>
              </jmesa:htmlRow>
          </jmesa:htmlTable>
      </jmesa:struts2TableModel>
  </form>
  <script type="text/javascript">
      function onInvokeAction(id){
          $.jmesa.setExportToLimit(id,'');
          $.jmesa.createHiddenInputFieldsForLimitAndSubmit(id);
      }  
  </script>
  </body>
</html>
这是页面代码,相应的引入css,js文件,同时有一个
<%@ taglib uri="/WEB-INF/tld/jmesa.tld" prefix="jmesa" %>  标签,所以要在项目中/WEB-INF/tld/jmesa.tld加入,jmesa.tld在源文件中有,拷贝一个。
我们还需要将jmesa.properties考入,在web.xml文件中配置:
<context-param>
        <param-name>jmesaPreferencesLocation</param-name>
        <param-value>WEB-INF/jmesa.properties</param-value>
    </context-param>
jmesa.properties的内容为:
html.toolbar.maxRowsDroplist.increments=12,24,36
limit.rowSelect.maxRows=12
html.imagesPath=/images/jmesa/
这样基本上配置就完成了,当然还有jar文件需要加入,jar如图:

jmesa分页 - zghbwjl - zghbwjl的博客

 这是所有的需要的jar文件
下面看action:
public class UsersAction extends ActionSupport implements ServletRequestAware,ServletResponseAware {

    /**
     *
     */
    private static final long serialVersionUID = 1L;
    private HttpServletRequest request;
    private HttpServletResponse response;
    @Override
    public void setServletRequest(HttpServletRequest request) {
        this.request=request;
    }
    @Override
    public void setServletResponse(HttpServletResponse response) {
        this.response=response;
    }

    public String execute(){
        List items=new ArrayList();
        for(int i=0;i<20;i++){
            Users users=new Users();
            users.setUsername("aa"+i);
            users.setPassword("pwd"+i);
            items.add(users);
        }
        String id="user_table";
        TableFacade tableFacade = new TableFacadeImpl("user_table", request);
 
        request.setAttribute("items",items);
        return "success";
    }

这样就好了,看看是不是很简单啊,是很简单的,不过是做出来了才简单,做不出来就觉得好麻烦哦,呵呵...
效果如图:

jmesa分页 - zghbwjl - zghbwjl的博客
分享到:
评论

相关推荐

    Struts2自定义分页标签

    本资源详细介绍了如何在Struts2中自定义分页标签,使得开发过程更加便捷。 在Struts2中,分页通常涉及到以下几个关键步骤: 1. **创建Action类**:首先,你需要创建一个Action类,该类将处理用户的请求,包括获取...

    基于struts2 自定义标签 分页

    在这个基于Struts2的自定义分页标签的实践中,我们将深入探讨如何创建、配置和使用自定义标签来实现数据的分页展示,同时与Oracle数据库进行交互。 首先,理解分页的基本概念至关重要。分页是将大量数据分成小块,...

    struts自制标签分页封装

    在 Struts 自制标签分页封装的场景中,我们通常是为了提高应用的可维护性和易用性,通过自定义标签来实现页面的动态分页功能。在不依赖 Struts 1.3 框架包的情况下,我们可以自己编写相关的组件来达到相同的效果。 ...

    Struts2实现分页查询

    用Struts2+mysql实现的简单信息录入,分页查询

    STRUTS2+HIBERNATE详细的分页实现代码详细的分页实现代码

    根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要探讨的是如何在Struts2与Hibernate框架结合下实现分页功能。接下来将详细解析Struts2与Hibernate如何协作完成这一任务。 ### Struts2与Hibernate...

    struts2实现分页

    ### Struts2 实现分页及 `&lt;s:bean&gt;` 标签详解 #### 一、Struts2 分页概述 在 Java Web 开发中,为了提高用户体验并减轻服务器负担,通常采用分页技术来展示数据。Struts2 框架提供了一套强大的工具和标签库来帮助...

    struts2做的分页标签

    本文将详细介绍如何在Struts2中实现分页标签,并提供一个简洁易懂的项目示例。 1. **Struts2分页概念**: 分页是将大量数据分割成若干小块,每次只加载一部分数据到页面上,使得用户可以逐页浏览,减轻服务器压力...

    使用 struts2实现分页

    在JSP页面上,我们可以使用Struts2的标签库来显示分页链接。Struts2提供了`s:url`和`s:a`标签来生成URL并触发链接事件。例如: ```jsp &lt;!-- 显示数据列表 --&gt; ${dataList}"&gt; &lt;tr&gt;&lt;td&gt;${item.property}&lt;/td&gt;&lt;/tr...

    Struts2分页-自定义标签-类似百度分页

    通过对`TagDemo`的分析和学习,你可以更好地理解和应用Struts2自定义标签实现分页功能。 总之,Struts2自定义标签提供了一种灵活的方式,使得开发者能够在JSP页面中方便地实现分页效果。通过自定义标签,我们可以将...

    struts2 完美实现 标签分页

    在这个“Struts2 完美实现 标签分页”的项目中,我们主要关注如何在Struts2框架下实现高效的分页功能,并利用自定义标签来提供友好的用户界面。 分页是Web应用中常见的需求,它有助于提高用户体验,特别是当处理...

    struts2分页代码的示例

    下面是我用Struts2做的一个分页显示实例,基本的思路是:把数据库表中的每一行数据封装成一个对象,用一个返回类型为List的方法返回这些对象,接着在Struts2的action里面定义一个List属性,用这个List来接收从数据库...

    自定义标签代替Struts标签实现分页

    然而,有时候我们可能需要根据项目需求定制特定的功能,比如这里的"自定义标签代替Struts标签实现分页"。下面将详细阐述这个主题。 一、自定义标签的原理 自定义标签是JavaServer Pages (JSP) 技术的一个强大特性,...

    struts2增删改查,struts2分页查询

    在探讨Struts2框架下的增删改查以及分页查询功能时,我们首先需要理解Struts2框架本身。Struts2是Apache软件基金会的一个开源Web应用框架,它继承了Struts1的一些特性,并在此基础上进行了大量的改进和扩展,提供了...

    jquery java struts2 实现分页 非常好看的分页

    本教程将详细讲解如何利用jQuery、Java和Struts2框架来实现一个美观且可自定义样式的分页功能。 首先,jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互等任务。在分页场景...

    使用Struts 2标签的注意事项

    &lt;filter-class&gt;org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter &lt;filter-name&gt;struts2 &lt;url-pattern&gt;/* ``` 这段代码定义了Struts 2的核心Filter,并将其映射到所有的请求上。 其次...

    Struts2 分页实现

    本实践项目旨在展示如何在Struts2中实现分页功能,适用于初学者学习和提升技能。 首先,我们来了解分页的基本原理。分页是将大量数据分成若干小部分,每次只加载一部分到页面上,用户可以通过导航按钮来浏览其他...

    hibernate+struts2分页代码

    - 通过Struts2的标签库,如`s:iterator`遍历查询结果,以及`s:url`和`s:a`标签创建分页链接。 5. **Struts2配置**: - 需要在Struts2的配置文件(struts.xml)中定义Action,包括其结果类型和接收的参数。 - 还...

    struts1.2实现分页

    本教程将深入讲解如何在Struts1.2框架中实现分页功能。 一、理解分页原理 分页的基本思想是将数据库中的数据分割成若干个部分,每次只加载一部分到前端展示,用户可以通过点击页码或导航按钮来切换不同的数据页。...

    Struts1.2+Spring2.5+Hibernate3.2+Jmesa2.4.3+Jmesatag实例2分页A

    一个Struts1.2+Spring2.5+Hibernate3.2+Jmesa2.4.3+JmesaTag实现的强大分页控件例子 里 面有action实现分页和标签实现分页2个例子 action实现的分页 包括了表头排序,导出为PDF,TXT, excel等格式 jar包和数据库...

Global site tag (gtag.js) - Google Analytics