一.display tag
DisplayTag是一个非常好用的表格显示标签,适合MVC模式。可以对的Table进行分页、数据导出、分组、对列排序等.下面将用Struts2+display tag做个最简单的分页程序.
1.首先要下它的jar包,将jar包放到WEB-INF的lib文件夹下它的核心jar包是jstl-1.2.jar,另外需要一些辅助jar包,这些辅助包都有不同的功能,具体的功能可以访问http://displaytag.sourceforge.net/10/dependencies.html ,根据需要下载不同的jar包。例子中用到jar包如下:
commons-logging-1.0.4.jar
displaytag-1.1.1.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.11.jar
xwork-2.0.4.jar
commons-lang-2.3.jar
standard-1.1.2.jar
commons-beanutils-1.7.0.jar
commons-collections-3.2.jar
jstl-1.2.jar
itext-1.3.jar
commons-digester-1.7.jar
2.然后在web.xml下添加一个filter
<filter>
<filter-name>exportFilter</filter-name>
<filter-class>org.displaytag.filter.ResponseOverrideFilter</filter-class>
</filter>
在jsp页面做一个引用:
<%@ taglib uri="http://displaytag.sf.net/el" prefix="display" %>
3.在src下面com.hua.example先建一个bean
package com.hua.example;
public class StudentInfo {
private String name;
private String age;
private String mark;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getMark() {
return mark;
}
public void setMark(String mark) {
this.mark = mark;
}
}
建action
package com.hua.example;
import java.util.ArrayList;
import java.util.List;
import com.opensymphony.xwork2.ActionSupport;
public class StudentAction extends ActionSupport{
private List<StudentInfo>studentInfos;
public List<StudentInfo> getStudentInfos() {
return studentInfos;
}
public void setStudentInfos(List<StudentInfo> studentInfos) {
this.studentInfos = studentInfos;
}
public String dispayAllStudents()
{
//定义一个list存放要显示的记录
studentInfos=new ArrayList<StudentInfo>();
for(int i=0;i<50;i++)
{
StudentInfo studentInfo=new StudentInfo();
studentInfo.setName("jian"+i);
studentInfo.setAge("jian"+i);
studentInfo.setMark("jian"+i);
studentInfos.add(studentInfo);
} return SUCCESS;
}
}
4.配置struts.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd ">
<web-app>
<display-name>Struts 2.0 Hello World</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<!-- display tag 配置的过滤器 -->
<filter>
<filter-name>exportFilter</filter-name>
<filter-class>
org.displaytag.filter.ResponseOverrideFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
web.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" " http://java.sun.com/dtd/web-app_2_3.dtd ">
<web-app>
<display-name>Struts 2.0 Hello World</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<!-- display tag 配置的过滤器 -->
<filter>
<filter-name>exportFilter</filter-name>
<filter-class>
org.displaytag.filter.ResponseOverrideFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
5.相应的页面如下index.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri=" http://displaytag.sf.net " prefix="display" %>
<%
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>Student Message</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">
</head>
<body>
<a href="/displaytagexample/studentInfo.action">点击查看display tag分页的简单例子</a>
</body>
</html>
studentinfo.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib uri="http://displaytag.sf.net/el " prefix="display"%>
<%
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>Student Message</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">
</head>
<body>
<!-- name 是action的list 如果你把他放在session中了就不用写requestURI 否则就一定要写。requestURI值action的路径 -->
<display:table name="studentInfos" pagesize="10"
requestURI="studentInfo.action">
<display:column property="name" title="姓名" />
<display:column property="age" title="年龄" />
<display:column property="mark" title="分数" />
</display:table>
</body>
</html>
运行后的效果如下:
<!---->50 items found, displaying 1 to 10. [First/Prev] 1 , 2 , 3 , 4 , 5 [Next /Last ]
姓名年龄分数
jian0 |
jian0 |
jian0 |
jian1 |
jian1 |
jian1 |
jian2 |
jian2 |
jian2 |
jian3 |
jian3 |
jian3 |
jian4 |
jian4 |
jian4 |
jian5 |
jian5 |
jian5 |
jian6 |
jian6 |
jian6 |
jian7 |
jian7 |
jian7 |
jian8 |
jian8 |
jian8 |
jian9 |
jian9 |
jian9 |
显示的格式自己可以定义CSS在studentinfo.jsp加上
<style type="text/css">
.table {
border: 1px solid #74B3DC;
color: #000;
background: #fff;
width: 99.7% !important;
width: 99.5%;
}
.table td,.table th{
border: 1px solid #e0e0e0;
border-left: 0px;
border-top: 0px;
padding: 0.2em;
}
.table thead th{
border: 1px solid #e0e0e0;
border-left: 0px;
border-top: 0px;
text-align: left;
font-size: 1em;
font-weight: bold;
background: #d7e9f5;
}
}
</style>
在<display:table name="studentInfos" pagesize="10"
requestURI="studentInfo.action" class="table" >加上引用
最后显示的效果如下
<!---->
下面是display tag 其他的一些用法和功能
http://hi.baidu.com/netnotes/blog/item/d6527d121bef1850f919b878.html
http://kewb.iteye.com/blog/128744
- 描述: 加上css后显示的效果。
- 大小: 40.9 KB
- libs.rar (2.8 MB)
- 描述: display tag 分页例子中用到的有关display tag lib的jar包,把这些jar包拷贝到WEB-INF/lib中例子就可以运行了。
- 下载次数: 2546
分享到:
相关推荐
在这个案例中,我们利用装饰器机制,结合JavaScript和CSS,实现了鼠标悬停行变色的交互效果,而无需修改Displaytag 的源代码。这种方式不仅保持了Displaytag 的升级兼容性,也展示了在Web开发中利用现有工具进行功能...
使用DisplayTag时,你需要创建一个`<display:table>`标签,将数据集合(通常为List或Array)绑定到该标签,并设置相应的属性,如`name`(数据源)、`pagesize`(每页显示的行数)等。例如: ```jsp ``` 3. *...
http://sourceforge.net这是个开源网站里面放的很多流行的开源软件希望大家多多去看。 displaytag 一个非常不错的分页标签等等。 这个包里有现成的例子,直接可以运行去看,还有用到的文档,希望对大家有帮助
1. **分页**:DisplayTag支持自动分页,可以轻松地将大量数据分成可管理的小块,改善用户体验。 2. **排序**:用户可以通过点击列头对表格进行排序,这对于处理大量需要排序的数据非常有用。 3. **格式化和国际化**...
这个压缩包包含DisplayTag的源代码、jar包以及相关的说明文档,为初学者提供了一个完整的Displaytag分页实例,旨在帮助程序员快速上手。 DisplayTag的核心功能在于提供了一种优雅的方式来呈现HTML表格,它简化了...
在"自己做的小例子"这个文件中,你可能会找到一些具体的代码示例,演示如何在实际项目中集成和使用DisplayTag。通过分析这些例子,你可以更好地理解DisplayTag的用法,并将其应用到自己的开发工作中。 总的来说,...
这个“displaytag例子代码”压缩包很可能是包含了一些演示如何在Struts框架中集成和使用DisplayTag库的示例代码。 DisplayTag的核心是一个JSP标签库,通过在JSP页面中使用这些标签,开发者可以轻松地创建出动态、...
DisplayTag是一个开源的Java库,专门用于在JSP页面中创建复杂的表格,提供了一系列高级功能,如自动分页、样式定制以及无需额外下载资源等优点。在这个“DisplayTag小例子”中,我们将深入探讨如何利用DisplayTag...
1. **分页**:DisplayTag支持自动分页,只需要简单的配置就能实现表格数据的分页显示,无需编写额外的后端代码。 2. **排序**:用户可以通过点击表头进行数据的升序或降序排序,这对于大量数据的展示非常有用。 3....
DisplayTag是一个强大的开源Java库,专门用于创建表格和实现分页、排序等功能,它使得在Web应用中实现这些功能变得简单而高效。 DisplayTag提供了一个灵活的标签库,可以方便地集成到JSP页面中,通过简单的配置就能...
在"Test"这个压缩包文件中,可能包含了使用DisplayTag的例子代码,包括JSP页面、控制器(可能是Servlet或Spring MVC的Controller)以及相关的配置文件。这些例子可能演示了如何在项目中集成DisplayTag,如何设置标签...
分页标签库如`DisplayTag`或`PagedListHolder`提供了一种声明式的方式来实现分页功能。这些标签库通过在JSP页面中插入特定的标签,可以轻松地创建分页链接和显示分页信息。例如,`<display:table>`标签可以用来显示...
首先,DisplayTag的基本使用非常简单。在不使用`<display:column>`标签的情况下,只需将List对象传递给`<display:table>`标签,DisplayTag会自动遍历List中的每个对象并显示其所有属性,这对于快速查看对象数据非常...