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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java和 javaw 以及 javaws的区别

    java ,javaw 和 javaws的区别:首先,所有的这些都是java的启动装置,java.exe经常使用,当使用命令行输出到window的时候,会有java.exe进程,通过任务管理器可以看到。通常我们执行一些小的java程序的时候会有java.exe进程在运行。javaw.exe对于我们也比较特殊,我们也能够通过任务管理器看到javaw.exe进程的运行。javaws通

    2022年4月4日
    66
  • CSS3:backgroud-size和background-origin的使用方法

    CSS3:backgroud-size和background-origin的使用方法

    2021年7月9日
    90
  • mysql5.7安装及配置超详细教程_mysql安装教程 linux

    mysql5.7安装及配置超详细教程_mysql安装教程 linuxMySQL5.7.35安装教程下载工具官网下载下载在下图中选择你自己需要的版本即可第二种下载方式如下图所示下载下载完成后对工具包进行解压,我解压的在D盘解压好过后在里面新建my.ini文件(如果你不知道怎么创建my.ini文件请看)右击新建文本文档创建文本文档过后进行重命名讲文本文档的后缀名改为ini如图操作再将新建的文本文档改名为my.ini编辑my.ini文件将下面的代码复制进去记得更改里面【basedir】【datadir】的路径为你自己的安装路径[mysqld]#

    2022年8月22日
    13
  • swoole 查看tcp开启进程数

    swoole 查看tcp开启进程数

    2022年2月12日
    48
  • 2020年开始,中国程序员前景一片灰暗,是这样吗?[通俗易懂]

    2020年开始,中国程序员前景一片灰暗,是这样吗?[通俗易懂]背景:汇总了下老王在其他平台的原创回复,欢迎关注老王原创公众号【软件老王】,关注不迷路。1、感觉中国程序员前景一片灰暗,是这样吗?老王观点:(1)个人认为谈不上灰暗,过去十年是互联网快速爆发的十年,每个行业发展了一定程度,都会慢慢趋于平稳,软件行业也不例外。(2)其实最近也有这种感觉,感觉软件行业比以前难做了,随着政府推动的互联网+,软件行业已经进入各行各业,认为后面可能会像美国一样,成为一个基础行业,待遇和机会也会趋同于其他行业,但是不知道能不能像美国那样,到50多岁了还能写的上代码。(3

    2022年10月11日
    1
  • Mysql 修改列的顺序

    Mysql 修改列的顺序

    2021年9月8日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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