compound extreme_essential hypertension

compound extreme_essential hypertensioneXtremeComponents的eXtremeTable是一套很好的分页标签,比displayTag好多了。它使用jstl,所以与webwork,Struts,JSF集成也很方便,推荐大家用下面是我使用的例子:ec:table items=”users” var=”user” action=”” imagePath=”${ctx}/widgets/extremecomponent

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

eXtremeComponents的eXtremeTable是一套很好的分页标签,比displayTag好多了。它使用jstl,所以与webwork,Struts,JSF 集成也很方便,推荐大家用

下面是我使用的例子:

compound extreme_essential hypertension

compound extreme_essential hypertension

<
ec:table 
items
=”users”
 var
=”user”
 action
=””
 imagePath
=”${ctx}/widgets/extremecomponents/images/table/zh_CN/*.gif”
 cellpadding
=”1″
 title
=”用户名”
 
compound extreme_essential hypertension locale

=”zh_CN”
 rowsDisplayed
=”10″
>
 
compound extreme_essential hypertension     

<
ec:exportXls 
fileName
=”UserList.xls”
 tooltip
=”Export Excel”
/>

compound extreme_essential hypertension     

<
ec:exportPdf 
fileName
=”UserList.pdf”
 tooltip
=”输出PDF文件”
 headerColor
=”blue”
 headerBackgroundColor
=”blue”
 headerTitle
=”人员表”
/>
 
compound extreme_essential hypertension   

<
ec:exportCsv 
fileName
=”UserList.txt”
 tooltip
=”输出CSV文件”
 delimiter
=”|”
/>
 
compound extreme_essential hypertension
compound extreme_essential hypertension   

<
ec:row
>

compound extreme_essential hypertension    

<
ec:column 
property
=”rowcount”
 cell
=”rowCount”
 sortable
=”false”
 title
=” No.”
 width
=”50″
/>

compound extreme_essential hypertension    

<
ec:column 
property
=”username”
 title
=”姓 名”
 width
=”200″
/>

compound extreme_essential hypertension    

<
ec:column 
property
=”firstName”
  title
=”firstName”
 width
=”200″
/>

compound extreme_essential hypertension    

<
ec:column 
property
=”lastName”
  title
=”lastName”
 width
=”200″
/>

compound extreme_essential hypertension   

</
ec:row
>

compound extreme_essential hypertension  

</
ec:table
>

compound extreme_essential hypertension

Action

compound extreme_essential hypertension
import
 java.util.List;
compound extreme_essential hypertension

import
 javax.servlet.http.HttpServletRequest;
compound extreme_essential hypertension

import
 javax.servlet.http.HttpServletResponse;
compound extreme_essential hypertension

import
 org.apache.struts.action.ActionForm;
compound extreme_essential hypertension

import
 org.apache.struts.action.ActionForward;
compound extreme_essential hypertension

import
 org.apache.struts.action.ActionMapping;
compound extreme_essential hypertension

import
 com.ygsoft.propertyright.service.UserManager;
compound extreme_essential hypertension

import
 com.ygsoft.propertyright.webapp.util.BeanUtil;
compound extreme_essential hypertension
compound extreme_essential hypertensioncompound extreme_essential hypertension

public
 
class
 TestAction 
extends
 BaseAction 

{

compound extreme_essential hypertension    UserManager userManager 
= (UserManager)BeanUtil.getBean(userManager);
compound extreme_essential hypertension    
compound extreme_essential hypertension    
public ActionForward testPage(ActionMapping mapping, ActionForm form, 
compound extreme_essential hypertensioncompound extreme_essential hypertension            HttpServletRequest request, HttpServletResponse response) 
throws Exception {

compound extreme_essential hypertension        List users 
= getUsers();
compound extreme_essential hypertension        request.setAttribute(
users, users);
compound extreme_essential hypertension        
return mapping.findForward(test);
compound extreme_essential hypertension    }

compound extreme_essential hypertension
compound extreme_essential hypertensioncompound extreme_essential hypertension    
public List getUsers() throws Exception {

compound extreme_essential hypertension                 
return userManager.getUsers(null);    
compound extreme_essential hypertension                     }

compound extreme_essential hypertension}

              其中ecoAttrs是一个collection(List),放入pojo。action里面写你这个页面的访问方法(如我的页面是一个action,其他的如.do或者.jsp什么的都可以)。rowsDisplayed是默认显示条数,它可以自动实现分页。
下面的三个<ec:export>是导出三种格式用的,不用的话可以不写(写了需要在web.xml配置相应的filter)。
<ec:column>里面放属性,property指向pojo的相应属性,而title是表头显示的信息,这个标签需要用<ec:row>包起来(1.0.1 m4以后)

这里有一套中文图标:
http://tiny.51.net/extremecomponent/zh_CN.rar

web.xml配置

compound extreme_essential hypertension
<
filter
>
 
compound extreme_essential hypertension     

<
filter-name
>
eXtremeExport
</
filter-name
>
 
compound extreme_essential hypertension    

<
filter-class
>
 org.extremecomponents.table.filter.ExportFilter 
</
filter-class
>
 
compound extreme_essential hypertension

</
filter
>
 
compound extreme_essential hypertension
compound extreme_essential hypertension

<!–
 输出excel,pdf,csv的时候用 
–>

compound extreme_essential hypertension

<
filter-mapping
>
 
compound extreme_essential hypertension

<
filter-name
>
eXtremeExport
</
filter-name
>
 
compound extreme_essential hypertension

<
url-pattern
>
/*
</
url-pattern
>
 
compound extreme_essential hypertension

</
filter-mapping
>
 
compound extreme_essential hypertension
compound extreme_essential hypertension
compound extreme_essential hypertension

<!–
 其实这个配置可不要,已经在放在jar里面了loading的时候自动会加进来- 
–>

compound extreme_essential hypertension

<
taglib
>
 
compound extreme_essential hypertension

<
taglib-uri
>
/extremecomponents
</
taglib-uri
>
 
compound extreme_essential hypertension

<
taglib-location
>
/WEB-INF/tld/extremecomponents.tld
</
taglib-location
>

compound extreme_essential hypertension

<!–
tld拷贝到相应目录去-> 
compound extreme_essential hypertension</taglib> 
compound extreme_essential hypertension

中文问题

export里面的excel和pdf默认不支持中文,需要手工修改源码,excel的比较简单:
修改org.extremecomponents.table.view.XlsView.java(我指的是1.0.1-M4-A14的相应代码)
102行:
HSSFCell hssfCell = hssfRow.createCell(cellnum);
hssfCell.setEncoding(HSSFCell.ENCODING_UTF_16);(就是添加这一行)
122行:
HSSFCell cell = row.createCell(cellnum);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);(就是添加这一行)
这个在使用UTF-8时工作正常。如果其他Unicode环境可以尝试HSSFCell.ENCODING_COMPRESSED_UNICODE。

编译后将对应.class放到WEB-INF/classes相应目录就可以了。

pdf view的比较麻烦,还没尝试,解决方法参照这个帖子:
http://extremecomponents.org/forum/viewtopic.php?t=139&highlight=chinese+filter
http://www-128.ibm.com/developerworks/cn/xml/x-ospdf/index.html

以使用Struts为例,说明一下如何使用eXtremeTable的分页特性

 

   这一切都可以在Action中完成,在Action会用到JSP中eXtremeTable的table标签的属性’tableId’ 和’item’,’tableId’用于完成eXtremeTable的分页,’item’用于返回你分页的结果集,不多不少,刚好是你需要查看的那一页的结果集,比如说,你一页是10条记录,那你访问第20页的时候,’item’的结果集就只有第201条到第210条记录.还有就是在request中加入totalRows的属性,表示本次查询结果的数量

另外,JSP的中,eXtremeTable的table标签要retrieveRowsCallback属性,将该属性设为 org.extremecomponents.table.callback.LimitCallback,这是它默认的分页回调类,你也可以写自已的回调类.设置了该默认的回调类以后,你在Action里就需要向request加入totalRows属性,值为你的查询结果总记录数,这样才会产生翻页的效果.

现在就你的DisplayAction中加分页的特性了,如下:

Limit limit = LimitFactory.createInstanceOfLimit(request, TABLEID);
LimitFactory.setLimitPageAndRowAttr(limit,PAGE_SIZE,TOTAL_SIZE);

这里的TABLEID就是JSP页上标签的属性tableId, PAGE_SIZE是你一页的记录数,TOTAL_SIZE是你查询数据的总数

然后设置totalRow属性,它的值被要求为Integer类型的,转换一下:

request.setAttribute(“totalRows”,new Integer(TOTAL_SIZE));

将分页后的结果集(一页的内容)放到request的resultList(此为JSP中item属性设置的值)属性中去:

request.setAttribute(“resultList”, getTestData(limit.getCurrentRowsDisplayed(),limit.getPage()));

上面得到分页数据的函数原形为getTestData(int pageSize,int paget),通过指定一页的记录数和第几页来获得所需的数据,这可以根据数据库的分页特性,或者通过滑动游标的方式来得到,这里不再傲述.

以下为部分代码:

JSP部分:

compound extreme_essential hypertension
<
ec:table
compound extreme_essential hypertension 

items
=”resultList”
 var
=”item”
 tableId
=”youTableId”

compound extreme_essential hypertension        retrieveRowsCallback

=”org.extremecomponents.table.callback.LimitCallback”

compound extreme_essential hypertension        filterRowsCallback

=”org.extremecomponents.table.callback.LimitCallback”

compound extreme_essential hypertension        sortRowsCallback

=”org.extremecomponents.table.callback.LimitCallback”

compound extreme_essential hypertension action

=”${pageContext.request.contextPath}/DisplayAction.do”

compound extreme_essential hypertension imagePath

=”${pageContext.request.contextPath}/images/table/*.gif”

compound extreme_essential hypertension title

=”TEST”

compound extreme_essential hypertension width

=”100%”

compound extreme_essential hypertension rowsDisplayed

=”10″

compound extreme_essential hypertension        sortable

=”false”

compound extreme_essential hypertension        filterable

=”false”

compound extreme_essential hypertension 

>

compound extreme_essential hypertension        

<
ec:column 
property
=”name”
 title
=”姓名”
/>

compound extreme_essential hypertension        

<
ec:column 
property
=”nickName”
 title
=”别名”
/>

compound extreme_essential hypertension

</
ec:table
>

 

Action部分代码:

compound extreme_essential hypertension
Limit limit 
=
 LimitFactory.createInstanceOfLimit(request, TABLEID);
compound extreme_essential hypertensionLimitFactory.setLimitFilterAndSortAttr(limit);
compound extreme_essential hypertensionLimitFactory.setLimitPageAndRowAttr(limit,PAGE_SIZE,TOTAL_SIZE);
compound extreme_essential hypertensionrequest.setAttribute(


resultList

,getTestData(limit.getCurrentRowsDisplayed(),limit.getPage()));
compound extreme_essential hypertensionrequest.setAttribute(


totalRows

,
new
 Integer(TOTAL_SIZE));

,标签里的rowDisplayed属性要和Action中的PAGE_SIZE一致,不然会有问题…

其他资源
extremecomponents 用AJAX:
http://extremecomponents.org/wiki/index.php/AJAX_enabled_eXtremeTable_Tutorial
extremecomponents Group:
http://groups.google.com:80/group/eXtremeComponents_CN
资源
http://www.blogjava.net:80/lucky/category/7508.html

ECSide发布地址:
1.1版本: http://fins.javaeye.com/blog/51068
1.0版本: http://fins.javaeye.com/blog/40190
ECSide圈子:
http://ecside.javaeye.com/
ECSide综合讨论专用帖
http://fins.javaeye.com/blog/48723
官方网站
http://www.extremecomponents.org

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/171295.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 我的程序人生

    我的程序人生写了这么久的博客还从来没写过类似的文章,今天借此机会就写一篇吧。关于《新程序员》这本杂志我还没有看过全套的,以后有机会一定仔细拜读一下。今天借即将毕业之际来写一下我的程序人生的初始阶段,和大家聊一聊是怎样的契机让我称为一名程序员,聊一聊自己大学四年的时光以及自己技术之路的起起伏伏,分享一下自己的一些学习经验。第一次写类似的文章,不喜勿喷哈。同时谨以此文纪念自己的大学时光。

  • mysql 截取字符串部分值_mysql截取字符串取值

    mysql 截取字符串部分值_mysql截取字符串取值使用mysql过程中根据实际业务的开发需求和表的设计有时候我们需要在sql中根据某个字符串截取并且取值:demo如下:ifnull(max(SUBSTRING_INDEX(c.check_score,’,’,-1)),’-‘)swjdf//按照,截取check_score这个字段的值,-1取的是倒数第一位即最后一位SUBSTRING_INDEX函数语法:SUBSTRING_INDEX(str…

  • java三大框架介绍「建议收藏」

    java三大框架介绍「建议收藏」常听人提起三大框架,关于三大框架,做了如下了解:           三大框架:Struts+Hibernate+Spring          java三大框架主要用来做WEN应用。          Struts主要负责表示层的显示,Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作),Hibernate主要是数据…

  • 有哪些优化mysql索引的方式请举例(sqlserver索引优化)

    目录0存储引擎介绍1SQL性能分析2常见通用的JOIN查询SQL执行加载顺序七种JOIN写法3索引介绍3.1索引是什么3.2索引优劣势3.3索引分类和建索引命令语句3.4索引结构与检索原理3.5哪些情况适合建索引3.6哪些情况不适合建索引4性能分析4.1性能分析前提知识4.2Explain使用简介4.3执行计划包含的信息字段解释(重中之重)id(表的读取顺序)select_type(数据读取操作的操作类型)table(显示执行的表名)type(访问类型排列)possible_k

  • python open函数参数_python中open函数的使用

    python open函数参数_python中open函数的使用一、open()的函数原型open(file,mode=‘r’,buffering=-1,encoding=None,errors=None,newline=None,closefd=True)从官方文档中我们可以看到open函数有很多的参数,我们常用的是file,mode和encoding,对于其它的几个参数,平时不常用,也简单介绍一下。buffering的可取值有0,1,>1三个…

  • ArrayList 扩容详解,扩容原理[通俗易懂]

    ArrayList 扩容详解,扩容原理[通俗易懂]ArrayList扩容详解,扩容原理ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长。ArrayList不是线程安全的,只能用在单线程环境下。实现了Serializable接口,因此它支持序列化,能够通过序列化传输;实现了RandomAccess接口,支持快速随机访问,实际上就是通过下标序号进行快速访问;实现了Cloneable接口,能被克隆。动态扩容一初始化…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号