displaytag 简单使用流程
1. 首先导入包:displaytag-1.2.jar,commons-lang.jar和standard.jar;commons-beanutils.jar;这四个jar包
2. 然后在jsp页面做一个引用: <%@ taglib uri="http://displaytag.sf.net/el" prefix="display" %>
3. 接着我们定义一个list
<%
List test = new ArrayList( 6 );
test.add( "Test String 1" );
test.add( "Test String 2" );
test.add( "Test String 3" );
test.add( "Test String 4" );
test.add( "Test String 5" );
test.add( "Test String 6" );
request.setAttribute( "test", test );
%>
4. 最后当我们想在jsp页面上显示这个list时,我们只需要写一句话 <display:table name="test" />
5. 显示结果:

解释:
1. 关于导入jar包,经过测试以上四个jar包可以完成以上最基本的显示了。可选的jar包还有:
commons-logging
commons-collections
log4j
itext (optional, for pdf/rtf export)
displaytag-export-poi
最保险的就是将下载的例子war包解压缩后,其中WEB-INF/lib文件夹下所有jar包全拷贝到自己的项目下
2. 关于引用标签库,以前知道的方法有三种:其中两种都需要在web.xml文件中使用taglib元素配置tld文件的位置,然后在jsp页面中引用,而这种直接在jsp页面引用的方法有两个限制:tomcat容器得是5.0(另说4.0,不过现在的项目基本都是5.0往上啦)以上,然后得是和jar包中tld文件中的uri一致(废话,肯定得一致啊。。。)
3. 关于定义一个list,displaytag不仅可以显示list,数组也可以的。Map,Set也可以,但是显示的时候是无序的。
4. 关于使用displaytag标签,上面只是最简单最粗暴的使用方式,就是直接显示list集合中的所有元素的所有属性,显示的时候是每一行对应一个元素,每一列对应元素的一个属性/字段。这一点和Hibernate很相似。
5. 最后是显示结果,首先是惨不忍睹的样式问题,直接就是裸装上阵啊,毫无样式,看来得自己写样式,这样也好,可以自定义。然后是发现只有一列,这是因为list集合中的元素就是一个字符串,而不是一个bean对象,如果是bean对象,则必须提供相应的get方法。
6. 总结:displaytag的基本使用还是非常简单的,不过目前的使用方式实在是糟蹋了displaytag,任何一个项目都不会这么简单的使用它,并且displaytag可以提供的功能也是非常多的:分页,导出,排序,易扩展
displaytag 简单使用流程的更多相关文章
- 基于modelsim-SE的简单仿真流程—下
基于modelsim-SE的简单仿真流程—下 编译 在 WorkSpace 窗口的 counter_tst.v上点击右键,如果选择Compile selected 则编译选中的文件,Compile A ...
- 基于modelsim-SE的简单仿真流程—上
基于modelsim-SE的简单仿真流程 编写RTL功能代码 要进行功能仿真,首先得用需要仿真的模块,也就是RTL功能代码,简称待测试的模块,该模块也就是在设计下载到FPGA的电路.一个电路模块想要有 ...
- 微信公众号PHP简单开发流程
原文:微信公众号PHP简单开发流程 微信公众号开发分傻瓜模式和开发者模式两种,前者不要考虑调用某些接口,只要根据后台提示傻瓜式操作即可,适用于非专业开发人员. 开发模式当然就是懂程序开发的人员使用的. ...
- Java变量&&简单程序流程&&循环
变量:强类型局部变量: 1.先赋值,后使用 2.作用范围:从定义开始,到所在代码块结束 3.重合范围内不允许重复命名 数据类型(8中基本类型) byte 1B -128~127 short 2B -3 ...
- Slickflow.NET 开源工作流引擎快速入门之一: 简单序列流程代码编写示例
前言:对于急切想了解引擎功能的开发人员,在下载版本后,就想尝试编写代码,完成一个流程的开发和测试.本文试图从一个最简单的流程来示例说明,如何快速了解引擎代码的编写. 版本: .NETCore 2.1 ...
- drupal 开发简单站点流程
友情推广:Uminicmf 一个基于thinkphp开发的OA框架.http://blog.csdn.net/youmypig/article/details/51727713 drupal 简单站点 ...
- RNA-seq简单处理流程
RNA_seq pipline RNA_seq pipline PeRl 2018年3月7日 首先说明一下我做RNA-seq处理流程的文件树格式: RNA-seq/ data/ GRCh38.gtf ...
- jmeter(4)——简单测试流程
今天通过一个简单的例子梳理一下用jmeter进行测试的流程 1.确定被测网站:gogomall.com 2.制定测试指标:响应时间和错误率 3.设计测试场景 4.具体测试步骤 1>创建一个测试计 ...
- HttpClient介绍和简单使用流程
HttpClient SpringCloud中服务和服务之间的调用全部是使用HttpClient,还有前面使用SolrJ中就封装了HttpClient,在调用SolrTemplate的saveBean ...
随机推荐
- ionic初体验
inoic使用入门安装inoic1.安装nodejs2.通过npm install -g iomic 在全局安装ionic3.通过ionic --help来查看帮助(其他命令详见弹出提示脚本) 后续收 ...
- MOOTOOLS和JQUERY如何同时存在,解决冲突
mootools-jquery 今天在做EcStore前台的做效果时,由于Jquery的插件比较多,于是就使用了Jquery的插件,但是发现会引起Mootools的冲突. 于是猛找资料,终于找到了,现 ...
- memcache配置与使用
php100:73:MemCached高级缓存配置 Memcache相关介绍: memcache 是一个高性能的分布式的内存对象缓存系统,它能够存储各种各样的的数据,包括图片,视频,文件等等.缓存功能 ...
- PHP连续签到
require "./global.php"; $act = isset($_GET['act']) ? $_GET['act'] : "error"; // ...
- js本地存储解决方案(localStorage与userData)
WEB应用的快速发展,是的本地存储一些数据也成为一种重要的需求,实现的方案也有很多,最普通的就是cookie了,大家也经常都用,但是cookie的缺点是显而易见的,其他的方案比如:IE6以上的user ...
- 不在界面上用控件 动态创建idhttp,IdAntiFreeze来用
不在界面上用控件 动态创建idhttp,IdAntiFreeze来用 var IdHTTP: Tidhttp; IdAntiFreeze: TidAntiFreeze; begin IdAntiFre ...
- TextView 超链接点击跳转到下一个Activity
1:activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/androi ...
- hdu 4535 吉哥系列故事——礼尚往来
http://acm.hdu.edu.cn/showproblem.php?pid=4535 错排公式:a[i]=(i-1)*(a[i-2]+a[i-1]): #include <cstdio& ...
- 17 个 Linux 下用于 C/C++ 的最好的 IDE
C++,一个众所周知的 C 语言的扩展,是一个优秀的.强大的.通用编程语言,它能够提供现代化的.通用的编程功能,可以用于开发包括视频游戏.搜索引擎.其他计算机软件乃至操作系统等在内的各种大型应用. C ...
- javascript 误用this指针 的情况
理解了this指针后,我们再来看看一些很容易误用this指针的情况. 示例1——内联式绑定Dom元素的事件处理函数 <script type="text/javascript" ...