posts - 403, comments - 310, trackbacks - 0, articles - 7
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

05 Web Project3 (2)

Posted on 2007-05-02 13:35 ZelluX 阅读(505) 评论(0)  编辑  收藏 所属分类: OOP
1. CSS控制input标签的风格有点麻烦,google到了一种在css中使用三元判断语句的方法:
1input {
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列表头很漂亮,有两个小按钮选择排序方式。

只有注册用户登录后才能发表评论。


网站导航: