手机站
网通分站
电信主站
密 码:
用户名:
热门关键字:  虚拟主机  cn域名  域名注册  非法  seo
当前位置 : 主页>程序设计>Java技术>列表

Web开发设计:DisplayTag应用指南

来源:互联网 作者:west263.com 时间:2008-02-23 点击:
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
  DisplayTag是一个非常好用的表格显示标签,适合MVC模式,其主页在http://displaytag.sourceforge.net
  
  一、最简单的情况,未使用<display:column/>标签
  
  <%request.setAttribute( "test", new ReportList(6) );%>
  <display:table name="test" />
  
  标签遍历List里的每一个对象,并将对象里的所有属性显示出来。一般用于开发的时候检查对象数据的完整性。
  
  二、使用<display:column/>标签的情况
  
  <display:table name="test">
  <display:column property="id" title="ID" />
  <display:column property="name" />
  <display:column property="email" />
  <display:column property="status" />
  <display:column property="description" title="Comments"/>
  </display:table>
  
  property对应List里对象的属性(用getXXX()方法取得),title则对应表格表头里的列名。定义列有两种方式:
  
  A、<display:column property="email" />
  
  使用<display:column/>标签里的property属性来定义
  
  B、<display:column title="email">email@it.com</display:column>
  
  在<display:column/>标签体里增加内容,可以是常量,也可以用其他标签等等
  
  两种方式比较,用property属性来定义更加快速和利于排序。
  
  三、表格显示样式的定义
  
  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)直接修改
  
  四、标签取得数据的数据源
  
  有四种范围
  
  pageScope
  requestScope (默认) <display:table name="test2" >
  sessionScope <display:table name="sessionScope.holder.list" > 注意,这里要指定范围,非默认
  applicationScope
  
  五、通过增加id属性创建隐含的对象
  
  <display:table name="test" id="testit">
  <display:column property="id" title="ID" />
  <display:column property="name" />
  <display:column title="static value">static</display:column>
  <display:column title="row number (testit_rowNum)"><%=pageContext.getAttribute("testit_rowNum")%></display:column>
  <display:column title="((ListObject)testit).getMoney()"><%=((ListObject)pageContext.getAttribute("testit")).getMoney()%></display:column>
  </display:table>
  
  注意到在<display:table/>里增加了id属性,这时就在page context里创建了一个隐含对象,指向List里的当前对象,
  
  可以通过(ListObject)pageContext.getAttribute("id")来捕获这个对象。同时还创建了一个id_rowNum对象,同样,可
  
  通过pageContext.getAttribute("testit_rowNum")来捕获,它仅仅代表当前行的行数。
  
  有了这两个隐含对象,就可以通过其他标签来访问,例如Jstl:
  
  <display:table id="row" name="mylist">
  <display:column title="row number" >
  <c:out value="${row_rowNum}"/>
  </display:column>
  <display:column title="name" >
  <c:out value="${row.first_name}"/>
  <c:out value="${row.last_name}"/>
  </display:column>
  </display:table>
  
  六、显示部分数据
  
  显示开始五条数据:通过设定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>
  
  七、对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"来直接连接
  
  八、使用装饰模式转换数据显示(写自己的 decorator )
  
  A、对整个表格应用decorator
  
  <display:table name="test" decorator="org.displaytag.sample.Wrapper" >
  <display:column property="id" title="ID" />
  <display:column property="email" />
  <display:column property="status" />

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

共3页: 上一页 1 [2] [3] 下一页
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名
注册