DisplayTag学习笔记

这几天学习这个标签的运用,只是刚刚入门,学习的过程中碰到了很多问题,问题就是网上的帖子10个八个都是一样的,然后出了一点问题就找半天,现在写一下自己学习中帮助自己的一点东西;

 

/*************引用下别人的帖子,并做下自己的修改和补充************************/

首先当然是要下载它的jar包了,这里可以下载到最新的版本。将jar包放到WEB-INF的lib文件夹下。另外还需要两个辅助包:apache的commons-lang和standard包,这些包在下载的压缩包的displaytag-examples-1.2.war都可以找到
 

在jsp页面做一个引用:
<%@ taglib uri="http://displaytag.sf.net/el" prefix="display" %>

 

引入样式表

<link rel="stylesheet" type="text/css" href="<%=path %>/css/screen.css">
<link rel="stylesheet" type="text/css" href="<%=path %>/css/displaytag.css">

如果没有引入的话,表格是不会出来的

 

<%
    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 );
%> 

    <display:table name="test" />// 显示test内容display tag会自动生成一个table 
    

    如果list是从控制层抛出来的,name可使用EL表达式表示
    <display:table name="${test}" />

    这是最简单的display tag的使用,我们可以给它加上样式等,也可以定义显示的列,下面的table显示复杂一些

<display:table name="test" styleClass="list" cellspacing="0" cellpadding="0">
  <display:column property="id" title="ID" class="idcol"/>
  <display:column property="name" />
  <display:column property="email" />
  <display:column property="description" title="Comments"/>
</display:table> 

这里请各位新手注意,此时test已经不再是上述的List了,它已经改变了,见上所写,property="id",何来id如果还是继续执行您的jsp页面那注定要报错的,本人就是在这里卡了不少时间(自己太笨了),如果想让这段代码正常运行,那么您的List存放的内容是Object对象,对象有“id, name, email, description”这些属性。

    如果想要给它加个链接也很简单,下面的代码给name加了连接,并附带id参数,email也自动连接到mailto:XXX
<display:table name="test" styleClass="list" cellspacing="0" cellpadding="0">
  <display:column property="id" title="ID" class="idcol"/>
  <display:column property="name" url="detail.jsp" paramId="id" paramProperty="id"/>
  <display:column property="email" autolink="true"/>
  <display:column property="description" title="Comments"/>
</display:table>

下面说明下常用的几个简单应用:

1、表格显示样式的定义
  A、在<display:table/>和<display:column/>标签里指定标准的html属性,烦琐
  B、修改样式表
<display:table name="test" class="mars">
  <display:column property="id" title="ID" class="idcol"/>
  <display:column property="name" />
  <display:column property="email" />
  <display:column property="status" class="tableCellError" />
  <display:column property="description" title="Comments"/>
</display:table>
   通过class属性来指定所要应用的样式。可以在其默认样式表里(./css/screen.css)直接修改 
  C.可直接<display:column property="qz" title="权重" style="width:50px;" />
   
 
2、显示部分数据
   显示开始五条数据:通过设定length属性
<display:table name="test" length="5">
  <display:column property="id" title="ID" />
  <display:column property="email" />
  <display:column property="status" />
</display:table>
   显示第三到第八条数据:通过设定offset和length属性
<display:table name="test" offset="3" length="5">
  <display:column property="id" title="ID" />
  <display:column property="email" />
  <display:column property="status" />
</display:table> 

3、对email和url地址的直接连接
<display:table name="test" >
  <display:column property="id" title="ID" />
  <display:column property="email" autolink="true" />
  <display:column property="url" autolink="true" />
</display:table>
如果要显示的对象里包含email和url地址,则可以在display:column里直接设定autolink="true"来直接连接


4.分组

   分组只是需要在column里增加group属性
<display:table name="test" class="simple">
  <display:column property="city" title="CITY" group="1"/>
  <display:column property="project" title="PROJECT" group="2"/>
  <display:column property="amount" title="HOURS"/>
  <display:column property="task" title="TASK"/>
</display:table>

  注意:group的1,2 ,3相当于分组的优先级,必须从1开始不可跳数

 

 

上面的内容参考别人自己整理的,本人未全部实践,如果想要更深入的学习,请参考其他的帖子。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值