一般我們在 displaytag 顯示 List 物件時, 會使用下列的方式:
< id="row" name="${queryHospital}" requesturi="" class="sample" pagesize="">" >
< titlekey="text.id" sortable="true">
< href="hospitalList.do?METHOD=editHospital&id=< c:out value=">" >
< value="${row.id}">< value="${row.id}">< /a >
< /display:column >
......
< /display:table >
也就是將物件以 EL 的方式接收, 並利用 display:table 中的屬性 "id", 來作轉換,如此就可以很容易的在
<> 標籤裡,利用屬性 id 所設定的值, 將List物件的property一一取出.
但由於各家伺服器的Web Container所支援的方式不盡相同, 導致在 displaytag 的 "id" 屬性失效, 如此一來 id 完全無法帶出 property 中的資料.
若您的需求僅是將資料作動態的連結, displaytag 還是有幾個方便好用的屬性,
可以解決該問題.
引用一下上面這段:
< titlekey="text.id" sortable="true">
< href="hospitalList.do?METHOD=editHospital&id=< c:out value=">" >< value="${row.id}">< /a >
< /display:column >
可以簡化成:
< property="id" href="hospitalList.do?METHOD=editHospital" titlekey="text.id" paramid="id" paramproperty="id" sortable="true">
該屬性很簡單明瞭, 尤其 paramProperty 可以讓我們動態的去呼叫 Property, 而使用 href, paramId, paramProperty 也有某種程度達到簡化的目的.
該方法在 weblogic 9.2 是測試通過的, 但是displaytag 從去年的六月就停止開發了, 若有相關的 bug, 可能需要自己動修改.
若您的頁面需求比較複雜, 也可以考慮別種solution來實作.
#後記:該問題又找到了一個解決方案,將 display:table
內的ID屬性,更新為UID即可.
displaytag - Implicit objects created by table
http://displaytag.sourceforge.net/11/tut_implicitobjects.html
eXtremeComponents
http://code.google.com/p/extremetable/
jmesa
http://code.google.com/p/jmesa/
2007年8月16日 星期四
Implicit objects 的顯示方式
張貼者: willmaster.liu 於 晚上11:04
標籤: display tag
訂閱:
張貼留言 (Atom)
0 意見:
張貼留言