- 浏览: 556534 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (533)
- spring (8)
- struts (21)
- hibernate (17)
- java其他 (73)
- 设计模式 (2)
- 开发软件/插件 (26)
- android (8)
- extjs4 (1)
- 网络编程 (4)
- 生活杂记 (3)
- ibatis (5)
- 应用服务器 (4)
- js (26)
- html/css (16)
- linux (0)
- db (32)
- jsp/servlet (13)
- xml (9)
- webservice (10)
- 错误/异常处理 (23)
- 线程 (10)
- maven (7)
- lucene (2)
- python (0)
- 报表 (1)
- mongodb (6)
- restful (6)
- ssl (1)
最新评论
-
zmwxiaoming:
...
struts2拦截器验证登陆状态 -
u012413283:
感谢楼主,同样的问题解决了
eclipse下安装m2e的maven插件报错的各类解决方案(含pom editor没装好的解决方案) -
javalucky:
你妹,想不吐槽都不行啊,eclipse 那来的maven4My ...
clipse加载maven工程提示pom.xml无法解析org.apache.maven.plugins:maven-resources-plugin: -
zhaoyh82:
感谢楼主
eclipse下安装m2e的maven插件报错的各类解决方案(含pom editor没装好的解决方案) -
hua2011:
按照楼主说的,还是没有出现pom editor编辑器,麻烦楼主 ...
eclipse下安装m2e的maven插件报错的各类解决方案(含pom editor没装好的解决方案)
DisplayTag是一个开源的自定义标签库(Custom Tag lib),他提供了直接而有效的格式化web视图层数据的有效手段。你可以在现在流行的web应用的MVC模式中集成DisplayTag到View层,其提供的强大表格格式化功能一定会令你爱不释手。或许上面说的有些夸张了,但是DisplayTag在表格的格式化方面表现确实出色,当然,他也只能显示表格,视图层的大部分工作不就是使用表格来格式化数据嘛!
项目结构图,如图一:
第一步,新建com.action.ProductsAction.java这个类, 用来得到一个List<Product>的list对象,实际开发中,这个list将是从数据库中获得
ProductsAction.java:
package com.action; import java.util.ArrayList; import java.util.Date; import java.util.List; import com.bean.Product; import com.opensymphony.xwork2.ActionSupport; public class ProductsAction extends ActionSupport { private List<Product>list; public List<Product> getList() { return list; } public void setList(List<Product> list) { this.list = list; } public String execute() { list=new ArrayList<Product>(); for (int i = 0; i < 80; i++) { Product product=new Product(); product.setEmail("http://email"+"--"+i); product.setMoney(10000.00+i); product.setName("商品"+"--"+i); product.setNum("isbn"+"--"+i); product.setTime(new Date()); product.setUrl("www.google.com"); list.add(product); } System.out.println("数据共有"+list.size()+"条"); return SUCCESS; } }
第二步,新建Product的javabean:
package com.bean; import java.util.Date; public class Product { private String num; private String name; private String email; private double money; private String url; private Date time; //getter,setter略 }
第三步,新建properties资源文件,并配置struts.xml
displaytag_zh_CN.properties: basic.empty.showtable=false basic.show.header=true # page | list sort.amount=list # \u5bfc\u51fa\u8303\u56f4\u8bbe\u7f6e\uff0clist\u4e3a\u5168\u90e8\uff0cpage\u4e3a\u9875\u9762 export.amount=list export.decorated=true paging.banner.group_size=8 # \u4fee\u6539\u5206\u9875\u5bfc\u822a\u6761\u663e\u793a\u7684\u4f4d\u7f6e\uff0ctop\u4e3a\u9876\u90e8\uff0cbottom\u4e3a\u5e95\u90e8\uff0cboth\u4e3a\u9876\u90e8\u548c\u5e95\u90e8 paging.banner.placement=bottom css.tr.even=even css.tr.odd=odd css.th.sorted=sorted css.th.ascending=order1 css.th.descending=order2 css.table= css.th.sortable=sortable # factory classes for extensions factory.requestHelper=org.displaytag.util.DefaultRequestHelperFactory # factory class for decorators factory.decorator=org.displaytag.decorator.DefaultDecoratorFactory # locale provider (Jstl provider by default) locale.provider=org.displaytag.localization.I18nJstlAdapter # locale.resolver (nothing by default, simply use locale from request) #locale.resolver= export.types=csv excel xml pdf export.csv.class=org.displaytag.export.CsvView export.excel.class=org.displaytag.export.ExcelView export.xml.class=org.displaytag.export.XmlView export.pdf.class=org.displaytag.export.PdfView export.csv=true export.csv.label=<span class="export csv">CSV </span> export.csv.include_header=false export.csv.filename=instence.csv export.excel=true export.excel.label=<span class="export excel">Excel </span> export.excel.include_header=true export.excel.filename=instence.xls export.xml=true export.xml.label=<span class="export xml">XML </span> export.xml.filename=instence.xml export.pdf=true export.pdf.label=<span class="export pdf">PDF </span> export.pdf.include_header=true export.pdf.filename=instence.pdf export.rtf=true export.rtf.label=<span class="export rtf">RTF </span> export.rtf.include_header=true export.rtf.filename=instence.rtf # \u5206\u9875\u5bfc\u822a\u6761\u8bbe\u7f6e basic.msg.empty_list=\u6CA1\u6709\u8BB0\u5F55\u53EF\u663E\u793A basic.msg.empty_list_row=<tr class\="empty"><td colspan\="{0}">\u6CA1\u6709\u8BB0\u5F55\u53EF\u663E\u793A</td></tr> error.msg.invalid_page=invalid page # \u5bfc\u51fa\u5bfc\u822a\u6761\u8bbe\u7f6e export.banner=<div class\="exportlinks">\u5BFC\u51FA\u81F3\: {0}</div> # \u5206\u5272\u7b26 export.banner.sepchar= || paging.banner.item_name=\u6761\u8BB0\u5F55 paging.banner.items_name=\u6761\u8BB0\u5F55 paging.banner.no_items_found=<span class\="pagebanner">\u6CA1\u6709\u8BB0\u5F55\u88AB\u627E\u5230.</span> paging.banner.one_item_found=<span class\="pagebanner">\u53EA\u6709\u4E00\u6761\u8BB0\u5F55\u88AB\u627E\u5230.</span> paging.banner.all_items_found=<span class\="pagebanner">{0} {1} \u88AB\u627E\u5230, \u672C\u9875\u663E\u793A\u5168\u90E8\u8BB0\u5F55.</span> paging.banner.some_items_found=<span class\="pagebanner">{0} {1} \u88AB\u627E\u5230, \u672C\u9875\u663E\u793A\u7B2C {2} \u5230\u7B2C {3} \u6761\u8BB0\u5F55.</span> paging.banner.full=<span class\="pagelinks">[<a href\="{1}">\u9996\u9875</a>/<a href\="{2}">\u4E0A\u4E00\u9875</a>] {0} [<a href\="{3}">\u4E0B\u4E00\u9875</a>/<a href\="{4}">\u5C3E\u9875</a>]</span> paging.banner.first=<span class\="pagelinks">[\u9996\u9875/\u4E0A\u4E00\u9875] {0} [<a href\="{3}">\u4E0B\u4E00\u9875</a>/<a href\="{4}">\u5C3E\u9875</a>]</span> paging.banner.last=<span class\="pagelinks">[<a href\="{1}">\u9996\u9875</a>/<a href\="{2}">\u4E0A\u4E00\u9875</a>] {0} [\u4E0B\u4E00\u9875/\u5C3E\u9875]</span> paging.banner.onepage=<span class="pagelinks">{0}</span> paging.banner.page.selected=<strong>{0}</strong> paging.banner.page.link=<a href\="{1}" title\="\u5230\u7B2C{0}\u9875">{0}</a> paging.banner.page.separator=, # external sort and pagination pagination.sort.param=sort pagination.sortdirection.param=dir pagination.pagenumber.param=page pagination.searchid.param=searchid pagination.sort.asc.value=asc pagination.sort.desc.value=desc pagination.sort.skippagenumber=true # unused save.excel.banner=<a href="{0}" rel="external">save ({1} bytes)</a> save.excel.filename=export.xls
struts.xml:
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name ="StudentInfo" extends ="struts-default"> <action name="productInfo" class="com.action.ProductsAction"> <result name="success">/productInfo.jsp</result> </action> </package > </struts>
第四步,新建index.jsp和productInfo.jsp
Index.jsp:
<body> <a href="productInfo.action">查询所有商品信息</a> </body>
productInfo.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="display" uri="http://displaytag.sf.net/el" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <display:table pagesize="9" export="true" requestURI="productInfo.action" name="list"> <display:column property="num" title="商品编号" group="1" sortable="true"/> <display:column property="name" title="商品名称" group="2" sortable="true"/> <display:column property="email" title="反馈地址" autolink="true"/> <display:column property="money" title="商品价格" group="3" sortable="true"/> <display:column property="url" title="官方网站" autolink="true"/> <display:column property="time" title="出场时间" format="{0,time,yyyy-mm-dd}"/> <display:column/> </display:table> </body> </html>
第五步,配置web.xml并部署运行项目
web.xml:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <filter> <filter-name>s2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <!-- 配置displaytag的过滤器 --> <filter> <filter-name>exportFilter</filter-name> <filter-class>org.displaytag.filter.ResponseOverrideFilter</filter-class> </filter> <filter-mapping> <filter-name>s2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <login-config> <auth-method>BASIC</auth-method> </login-config> </web-app>
部署项目到tomcat下,在浏览器键入:
http://localhost:8080/displaytag
发表评论
-
用 ajaxFileUpload 出现的问题:has no method 'handleError'、返回json数据提示下载 、一直返回error
2014-07-09 10:04 11481. 提示错误:Uncaught TypeError: Ob ... -
过滤器,拦截器, 监听器区别
2014-02-23 11:35 454总体的概念上的总结有: 1、拦截器是基于java反射机制 ... -
js防止表单重复提交
2013-10-30 11:01 575<script language="javas ... -
js控制文本框自动适应文本长度
2013-10-15 10:03 1045<!Doctype HTML PUBLIC " ... -
high一下源码(仅适用chrome)
2013-10-15 10:00 557<!DOCTYPE HTML PUBLIC " ... -
js弹出层
2013-10-15 09:50 766<!DOCTYPE html> <htm ... -
jQuery选择器总结
2013-09-16 13:23 508jQuery 的选择器可谓之 ... -
Java购物车实现
2013-09-13 16:42 1153查询的资料,找到三种 ... -
jquery 追加tr和删除tr
2013-09-11 17:28 1052<script type="text/jav ... -
ognl.InappropriateExpressionException: Inappropriate OGNL expression: 1
2013-08-29 13:28 1568WARN OgnlValueStack:49 - Error ... -
<s:iterator>获取遍历数据的索引下标
2013-08-29 11:37 3757<s:iterator value="#uL ... -
struts2中的json
2013-08-17 12:29 948这里放一个转载的struts2中jso ... -
jquery的each()详细介绍
2013-07-29 14:12 785each()方法能使DOM循环结构简洁,不容易出错。e ... -
7kb的javascript日期操作类库(XDate)
2013-07-22 14:33 1040A Modern JavaScript Date Libra ... -
js遍历对象的属性并且动态添加属性
2013-07-22 13:27 2294Java代码 var ... -
jQuery插件FullCalendar日程表实现可扩展Google日历功能
2013-07-01 11:56 3491[javascript] view plainc ... -
js搜索关键词高亮
2013-06-20 18:23 1257<!DOCTYPE HTML PUBLIC " ... -
CKEditor+CKFinder+jsp的整理
2013-05-24 10:53 1603CKEditor是新一代的FCKeditor,是一个重新开发 ... -
struts2 <s:textfield />中的日期格式化输出
2013-05-20 10:22 2221struts2 中的默认的日期输出并不符合我们的中文日常习 ... -
ognl.OgnlException: target is null for setProperty(null, "newsid", [Ljava.lan
2013-05-16 10:12 1261昨天写那个项目,发现所有的JSP界面的属性都报ognl.O ...
相关推荐
DisplayTag是一个开源的Java库,用于在Web应用中创建复杂的表格。它提供了许多高级功能,如分页、排序、导出等。然而,在处理中文排序时,DisplayTag可能会遇到问题,因为默认的排序算法可能不支持汉字的正确排序。...
DisplayTag是一个开源的Java库,专门用于在Web应用程序中创建复杂的表格。它提供了一系列的标签和功能,使得在JSP页面上展示数据变得更加容易和灵活。DisplayTag支持分页、排序、导出、国际化和自定义样式,是开发...
DisplayTag 的强大之处在于它提供了一套完整的解决方案,包括对表格数据的排序、过滤、分页以及导出等功能。开发者可以根据需要自定义样式和行为,以满足各种复杂的表格展示需求。例如,可以设置列的排序方式、宽度...
DisplayTag则是一个开放源码的Java库,用于在Web应用程序中生成表格,它提供了丰富的功能,如分页、排序、国际化等,极大地简化了表格展示的复杂性。这篇博客文章《Struts2中使用displaytag标签总结》很可能是讨论...
DisplayTag是Java Web开发中的一款强大且功能丰富的表格和分页控件库,它极大地简化了在JSP页面中处理复杂表格和实现分页的工作。这个压缩包文件包含的就是DisplayTag的相关jar包以及可能的使用说明文档,对于开发...
DisplayTag 是一个强大的开源表格显示标签库,专为MVC模式设计,可以在Java Web应用程序中方便地处理数据展示。DisplayTag 提供了丰富的功能,包括表格分页、数据导出、列分组以及排序,极大地简化了开发人员的工作...
为了在项目中使用DisplayTag,首先需要下载并引用其提供的`DisplayTag.jar`文件,以及依赖的Apache项目相关jar包。此外,还需要在`web.xml`中进行相应的标签库配置,具体如下: ```xml <taglib-uri>...
它提供了许多高级特性,如分页、排序、国际化支持、导出功能等,极大地简化了开发人员在Web应用中处理复杂表格的需求。在使用DisplayTag时,需要依赖一些特定的JAR(Java Archive)文件来运行和构建项目。 本压缩包...
Displaytag 是一个开源的 JSP 标签库,专门用于创建数据表格,提供了一组易于使用的标签,可以实现复杂的表格功能,如分页、排序、导出等。在本文中,我们将详细讨论 Displaytag 1.1 版本的使用方法。 **一、...
DisplayTag 是一个开源的Java Web开发中的表格标签库,它为网页开发者提供了强大的表格展示功能。DisplayTag 1.1.1是该库的一个版本,它包含了一系列预定义的JSP标签,使得创建复杂的、可分页、可排序、可导出的表格...
Displaytag是一个开源的表格和分页显示标签库,它提供了许多高级特性,如排序、分页、导出、样式控制等。使用Displaytag,开发者可以快速地在网页上创建出功能丰富的表格,而无需编写大量的HTML和Java代码。以下是...
DisplayTag 是一个开源的 Java Web 标签库,主要用于处理数据表格的展示与交互。它能够帮助开发者轻松地将 JavaBean 集合转换成 HTML 表格,并且支持排序、分页等功能。本文将详细介绍 DisplayTag 的安装步骤、基本...
在使用display-export-poi-1.1.jar进行数据导出时,DisplayTag会利用Apache POI库将表格数据转换成Excel格式,并提供下载链接给用户。这个过程通常涉及设置导出的样式、格式和过滤条件,以便生成符合预期的Excel文件...
DisplayTag是Java Web开发中的一款强大且功能丰富的表格标签库,它为开发人员提供了一种高效、易用的方式来展示表格数据。DisplayTag 1.2是这个库的一个版本,包含了源码和对应的jar包,方便开发者进行查看和使用。 ...
总的来说,DisplayTag是一个强大的Web开发工具,它简化了在Java Web应用中创建复杂表格的过程,同时提供了许多高级功能,如分页、排序、导出和国际化。这个"displaytag-1.0-b3.zip"文件是开发者进行Web应用开发时,...
DisplayTag是一个开源的Java Web开发库,主要用于生成复杂的表格和数据展示,尤其在处理分页和排序方面表现出色。这个压缩包包含DisplayTag的源代码、jar包以及相关的说明文档,为初学者提供了一个完整的Displaytag...
Displaytag是一个开源的Java库,专门用于创建复杂的表格布局,提供了许多高级功能,如分页、排序、国际化、导出等。在Web开发中,它作为一个JSP标签库使用,大大简化了在网页上处理表格数据的过程。"displaytag-jar....
DisplayTag是一个功能强大的开源JSP分页标签库,它为Java Web开发提供了便捷的分页解决方案。本篇文章将深入探讨DisplayTag的使用方法及其核心特性,帮助开发者更好地理解和应用这一工具。 1. **DisplayTag概述** ...