Display标签使用分析和总结.docx
DisplayTag是一个非常好用的表格显示标签,适合MVC模式,其主页在
一、最简单的情况,未使用display:column/标签
%request.setAttribute(test,newReportList(6));%
display:tablename=test/
标签遍历List里的每一个对象,并将对象里的所有属性显示出来。一般用于开发的时候检查对象数据的完整性。
二、使用display:column/标签的情况
display:tablename=test
display:columnproperty=idtitle=ID/
display:columnproperty=name/
display:columnproperty=email/
display:columnproperty=status/
display:columnproperty=descriptiontitle=Comments/
/display:table
property对应List里对象的属性(用getXXX()方法取得),title则对应表格表头里的列名。定义列有两种方式:
A、display:columnproperty=email/
使用display:column/标签里的property属性来定义
B、display:columntitle=emailemail@/display:column
在display:column/标签体里增加内容,可以是常量,也可以用其他标签等等两种方式比较,用property属性来定义更加快速和利于排序。
三、表格显示样式的定义
A、在display:table/和display:column/标签里指定标准的html属性,烦琐
B、修改样式表
display:tablename=testclass=mars
display:columnproperty=idtitle=IDclass=idcol/
display:columnproperty=name/
display:columnproperty=email/
display:columnproperty=statusclass=tableCellError/
display:columnproperty=descriptiontitle=Comments/
/display:table
通过class属性来指定所要应用的样式。可以在其默认样式表里
(./css/screen.css)直接修改四、标签取得数据的数据源
有四种范围
pageScope
requestScope(默认) display:tablename=test2
sessionScope display:tablename=sessionScope.holder.list注意,这里要指定范围,非默认
applicationScope
五、通过增加id属性创建隐含的对象
display:tablename=testid=testit
display:columnproperty=idtitle=ID/
display:columnproperty=name/
display:columntitle=staticvaluestatic/display:column
display:columntitle=rownumber(testit_rowNum)%=pageContext.getAttribute(testit_rowNum)%/display:column
display:columntitle=((ListObject)testit).getMoney()
%=((ListObject)pageContext.getAttribute(testit)).getMoney()%/display:column
/display:table
注意到在display:table/里增加了id属性,这时就在pagecontext里创建了一个隐含对象,指向List里的当前对象,
可以通过(ListObject)pageContext.getAttribute(id)来捕获这个对象。同时还创建了一个id_rowNum对象,同样,可
通过pageContext.getAttribute(testit_rowNum)来捕获,它仅仅代表当前行的行数。
有了这两个隐含对象,就可以通过其他标签来访问,例如Jstl:
display:tableid=rowname=mylist
display:column