05 Web Project3 (2)

1. CSS控制input标签的风格有点麻烦,google到了一种在css中使用三元判断语句的方法:
1 input  {} {
2    width: expression(this.type!="submit"?'150px':'');
3    height: 23px;
4}

2. 循环<c:forEach var="i" begin="1" end="${pages}">
 
3. 分支
1 < c:choose >
2    < c:when  test ="${boolean1}" > </ c:when >
3    < c:when  test ="${boolean2}" > </ c:when >
4    < c:otherwise > </ c:otherwise >
5 </ c:choose >


4. DisplayTag 标签库
这东东真不错,支持奇偶数行css分离、自动换页等功能。
a) <display:table name="test" />
这样一行代码就能自动列出test内的所有属性了。
b) 如果要只列出指定的列,可以使用

< 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 >

c) 指定某一列的样式:<display:column property="id" title="ID" class="idcol"/>
d) 创建简单的动态链接
<display:column property="email" href="details.jsp" paramId="action" paramName="testparam" paramScope="request" />
这样只能产生details?action=xx的链接

d) 自定义动态链接
写一个类,继承org.displaytag.decorator.TableDecorator
package  util;

import  org.displaytag.decorator.TableDecorator;

public   class  Decorator  extends  TableDecorator  {
  
public String getEditLink() {
    beans.Policy p 
= (beans.Policy)getCurrentRowObject();
    
int pId = p.getId();
    
return "<a href=\"servlet/editItem?id=" + pId + "\">@</a>";  
  }

}
然后在jsp中声明这个Decorator
<display:table name="policies" id="PolicyList" decorator="util.Decorator">
增加相应的列
<display:column title="Edit" property="editLink"/>
e) 生成的html代码中奇偶数行的类分别为.odd和.even,在CSS中就能区分它们了。
f) 分页
display:table 中加个属性pagesize="10"即可,不过觉得这部分还是在数据库中解决比较高效。
g) 排序
列中的对象要实现Comparable接口,没有的话可以使用Decorator
display:table 中的属性
defaultsort="1"   默认以第一列为主键排序
defaultorder="descending"  递减
也可以在display:column中增加属性sortable="true" headerClass="sortable"
官方给出的sample中的那个sortable列表头很漂亮,有两个小按钮选择排序方式。

你可能感兴趣的:(05 Web Project3 (2))