青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Shuffy

不斷的學(xué)習(xí),不斷的思考,才能不斷的進步.Let's do better together!
posts - 102, comments - 43, trackbacks - 0, articles - 19

DisplayTag應(yīng)用實踐

Posted on 2008-11-30 15:47 Shuffy 閱讀(4912) 評論(0)  編輯 收藏 引用 所屬分類: Java
[摘自]http://www.blogjava.net/huhu/archive/2005/06/07/5669.html
1.表格的顯示格式,在css中定義;

css

Property Default Valid Values Description Can be set using file/setProperty
 css.tr.even even any valid css class name css class automatically added to even rows             yes/yes
 css.tr.odd odd any valid css class name css class automatically added to odd rows             yes/yes
css.th.sorted sorted any valid css class name css class automatically added to the header of sorted columns             yes/yes
css.th.ascending order1 any valid css class name css class automatically added to the header of a column sorted is ascending order            yes/yes
css.th.descending order2 any valid css class name css class automatically added to the header of a column sorted is descending order            yes/yes
css.table none any valid css class name css class automatically added to the main table tag            yes/yes
css.th.sortable none any valid css class name css class automatically added to any sortable column            yes/yes

 


 
2.修改classes/org/displaytag/properties/TableTag.properties,使其符合自己的要求.
basic.empty.showtable=false
basic.show.header
=true

# page 
| list
sort.amount
=page

export.amount
=list
export.decorated
=true

paging.banner.group_size
=8
paging.banner.placement
=top


css.tr.even
=even
css.tr.odd
=odd
css.th.sorted
=sorted
css.th.ascending
=order1
css.th.descending
=order2
css.table
=
css.th.sortable
=sortable

# factory classes 
for extensions
factory.requestHelper
=org.displaytag.util.DefaultRequestHelperFactory

# locale provider (Jstl provider by 
default)
locale.provider
=org.displaytag.localization.I18nJstlAdapter

# locale.resolver (nothing by 
default, simply use locale from request)
#locale.resolver
=

export.types
=csv excel xml pdf

export.csv.
class=org.displaytag.export.CsvView
export.excel.
class=org.displaytag.export.ExcelView
export.xml.
class=org.displaytag.export.XmlView
export.pdf.
class=org.displaytag.export.PdfView

export.csv
=true
export.csv.label
=<span class="export csv">CSV </span>
export.csv.include_header
=false
export.csv.filename
=

export.excel
=true
export.excel.label
=<span class="export excel">Excel </span>
export.excel.include_header
=true
export.excel.filename
=

export.xml
=true
export.xml.label
=<span class="export xml">XML </span>
export.xml.filename
=

export.pdf
=false
export.pdf.label
=<span class="export pdf">PDF </span>
export.pdf.include_header
=true
export.pdf.filename
=


# messages

basic.msg.empty_list
=<center>對不起,沒有符合條件的記錄</center>
basic.msg.empty_list_row
=<tr class="empty"><td colspan="{0}">Nothing found to display.</td></tr>
error.msg.invalid_page
=invalid page

export.banner
=<div class="exportlinks">Export options: {0}</div>
export.banner.sepchar
= |

paging.banner.item_name
=記錄
paging.banner.items_name
=記錄

paging.banner.no_items_found
=<span class="pagebanner">沒有任何{0} .</span>
paging.banner.one_item_found
=<span class="pagebanner">搜索到1條{0} .</span>
paging.banner.all_items_found
=<span class="pagebanner">搜索到<b>{0}</b>{1}, 當前顯示全部{2}.</span>
paging.banner.some_items_found
=<span class="pagebanner">搜索到<b>{0}</b>{1} , 當前顯示<b>{2}</b> to <b>{3}</b>.</span>

paging.banner.full
=<span class="pagelinks">[<a href="{1}">首頁</a>/<a href="{2}">上一頁</a>{0} [<a href="{3}">下一頁</a>/<a href="{4}">末頁</a>]</span>
paging.banner.first
=<span class="pagelinks">[首頁/上一頁] {0} [<a href="{3}">下一頁</a>/<a href="{4}">末頁</a>]</span>
paging.banner.last
=<span class="pagelinks">[<a href="{1}">首頁</a>/<a href="{2}">上一頁</a>{0} [下一頁/末頁]</span>
paging.banner.onepage
=<span class="pagelinks">{0}</span>

paging.banner.page.selected
=<strong>{0}</strong>
paging.banner.page.link
=<a href="{1}" title="Go to page {0}">{0}</a>
paging.banner.page.separator
=,

# unused
save.excel.banner
=<a href="{0}" rel="external">save ({1} bytes)</a>
save.excel.filename
=export.xls




詳情http://displaytag.sourceforge.net/configuration.html
3.如果TableTag.properties中的相關(guān)項包含中文則在web頁上會出現(xiàn)亂碼,解決方法:下載源碼
修改 org.displaytag.properties.TableProperties.java ,把 

   
 private String getProperty(String key) 
    

      
return this.properties.getProperty(key); 
    }
 


改成 
   
private String getProperty(String key) 
    

        String s 
= null
        
try 
          s 
= new String(this.properties.getProperty(key).getBytes("8859_1"), "GBK"); 
        }
catch(Exception e) 
          s 
= null
        }
 
      
return s; 
    }
 
4.確保export正確的方法是在web.xml中配置filter:
<filter> 
    
<filter-name>ResponseOverrideFilter</filter-name> 
    
<filter-class>org.displaytag.filter.ResponseOverrideFilter</filter-class> 
</filter> 
<filter-mapping> 
    
<filter-name>ResponseOverrideFilter</filter-name> 
    
<url-pattern>*.jsp</url-pattern> 
</filter-mapping> 
詳傾參見http://displaytag.sourceforge.net/export.html
慎用這個filter,尤其是使用tomcat做服務(wù)器的朋友,它會使本來就存在的亂碼問題更加雜亂,除非改改源碼.
5.在jstl中獲得數(shù)據(jù)的方法:
<sql:query var="query" dataSource="${bookdev}"> 
  select 
*  from ebook 
</sql:query> 

<display-el:table name="pageScope.query.rows" /> 

用<display-el:table name="${query.rows}" />好像不行;
6.要在外部引用數(shù)據(jù),必須在display:table中定義一個id

<display-el:table name="pageScope.query.rows" id="item" > 
  
<display-el:column property="title" title="題名" group="1" sortable="true" headerClass="sortable"/> 
  
<display-el:column property="creator" title="作者" group="2" sortable="true" headerClass="sortable"/> 
  
<display-el:column property="format" title="格式"/> 
  
<display-el:column title="刪除"><a href="delete.jsp?id=${item.Id}" target="_blank">刪除</a></display-el:column> 
</display-el:table> 

7.問題:如果檢索數(shù)據(jù)庫帶有中文的字段,在翻頁時就查不到記錄了?
  這個問題著實把我嚇了一大條,因為工程馬上就要完了,要是它出了問題,那.....
 好在displaytag比較成熟,用的人比較多,早就有人提出這個問題了,在網(wǎng)上查了一下,原來又是一個編碼的問題:
"DisplayTag的默認的URL默認為上一次的URL,如果上一次的URL包含中文的話,則會被進行URLEncode,所以在翻頁的時候,又會把進行了URLEncode后的數(shù)據(jù)再次進行URLEncode,所以翻頁就沒有數(shù)據(jù),因為這部分功能被封裝在DisplayTag中"
也提出了解決辦法:在Tomcat的server.xml的Connector部分添加URIEncoding="GBK",
我試了,但是好像不管用,不知道是不是版本不同的緣故,我用的是jakarta-tomcat-5.0.27,應(yīng)該是比較新的.
考慮到Tomcat5中對Post和Get請求不再采用相同的處理策略,
我把查詢表單的form method 由原來的post改為get,翻頁就沒有問題了,不過這個方法好像蹩腳了點,只能暫時這樣了.
在后來的實踐中我才發(fā)現(xiàn)原來是配置了filter的緣故(見4.確保export正確的方法是在web.xml中配置filter),這個filter打亂了正常的編碼.
下面是我的一些測試: (配置了export的filter后)
send.jsp:
<form action="receive.jsp?cs=1" method="POST">
  <input name="key" type="text" value="中文" />
  <input name="sb" value="submit" type="submit"/>
</form>
receive.jsp:cs=${param.cs};key=${param.key}
結(jié)果:cs=1,但key=????即使前面用了<%request.setCharacterEncoding("GBK"); %>也不行
只有用<% String key = new String(request.getParameter("key").getBytes("ISO-8859-1"));out.println(key);%>或類似的編碼處理才能得到正確結(jié)果.
將send.jsp的form method改為get
結(jié)果:cs的值為null,key=中文
8.相關(guān)資源:
http://www.theserverside.com/news/thread.tss?thread_id=21861

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品www色诱视频| 亚洲国产成人在线视频| 欧美一区三区二区在线观看| 国产欧亚日韩视频| 午夜国产精品影院在线观看| 一区二区电影免费观看| 亚洲精品欧美专区| 亚洲一二三四区| 久久精品理论片| 欧美激情精品久久久六区热门 | 亚洲精品综合精品自拍| 亚洲图片在线观看| 久久久九九九九| 久久性色av| 亚洲国产精品va| 亚洲乱码国产乱码精品精| 一区二区三区不卡视频在线观看| 麻豆国产精品777777在线| 男女视频一区二区| 欧美精彩视频一区二区三区| 国产精品久久久久久久7电影| 国产精品视频网| 亚洲高清资源| 欧美夜福利tv在线| 亚洲激情av| 亚洲女人天堂成人av在线| 久久精品夜色噜噜亚洲aⅴ| 欧美激情一区三区| 国产偷久久久精品专区| 亚洲精品九九| 久久久国产精品亚洲一区| 亚洲日本va午夜在线影院| 久久er99精品| 欧美成人一二三| 国产日韩欧美精品| 在线一区欧美| 亚洲承认在线| 久久天天躁狠狠躁夜夜av| 国产精品国产自产拍高清av| 在线观看国产日韩| 久久se精品一区二区| 亚洲激情小视频| 久久综合一区二区| 国内外成人免费激情在线视频 | 久久精品在线播放| 国产精品夜夜夜| 一区二区三区久久| 欧美激情一级片一区二区| 欧美专区在线播放| 国产乱码精品一区二区三区不卡 | 日韩午夜在线观看视频| 久久一区二区三区超碰国产精品| 亚洲天堂av在线免费| 欧美日韩国产页| 日韩视频一区二区在线观看| 亚洲国产成人午夜在线一区| 久久综合九色九九| 在线观看视频亚洲| 欧美肥婆在线| 欧美国产乱视频| 亚洲精品视频在线观看免费| 欧美大片在线看| 欧美成人国产| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美在线在线| 国产日本欧洲亚洲| 久久精品欧美| 久久国产免费| 亚洲福利视频免费观看| 欧美国产综合视频| 欧美激情在线狂野欧美精品| 99国产麻豆精品| av不卡在线看| 国产伦精品一区二区三区视频孕妇 | 久久免费99精品久久久久久| 欧美在线视频免费观看| 韩国女主播一区二区三区| 久久综合中文字幕| 欧美99在线视频观看| 一区二区高清在线观看| 亚洲一区二区三区免费在线观看| 国产视频欧美| 亚洲观看高清完整版在线观看| 欧美另类videos死尸| 欧美在线观看一区二区| 免费不卡在线观看av| 亚洲欧美日韩精品| 老牛影视一区二区三区| 亚洲一区免费看| 久久精品国产99国产精品| 亚洲国产欧美日韩精品| 在线中文字幕一区| 亚洲国产成人久久综合一区| 在线视频欧美日韩| 狠狠久久综合婷婷不卡| 日韩视频免费看| 国产一区二区三区久久悠悠色av | 99视频精品| 久久国产免费看| 亚洲一区在线免费观看| 久久精品最新地址| 亚洲一级片在线看| 美女主播精品视频一二三四| 亚洲欧美国产一区二区三区| 狂野欧美性猛交xxxx巴西| 午夜欧美不卡精品aaaaa| 欧美高清在线观看| 久热精品视频在线观看一区| 欧美特黄一区| 亚洲高清在线精品| 国产在线精品自拍| 亚洲一区二区欧美| 日韩视频免费观看| 麻豆久久婷婷| 久久免费精品视频| 国内精品伊人久久久久av一坑 | 在线亚洲成人| 亚洲国产欧美不卡在线观看| 亚洲欧美国产高清va在线播| 亚洲免费观看在线视频| 久久久成人网| 久久久久国产一区二区三区四区| 欧美日韩在线视频一区二区| 欧美大片va欧美在线播放| 国内精品美女av在线播放| 亚洲一区二区三区久久| 亚洲永久视频| 欧美精品福利| 亚洲高清一区二区三区| 亚洲国内自拍| 欧美成人免费全部| 欧美大胆成人| 亚洲三级视频在线观看| 久久一区国产| 欧美大片一区二区三区| 亚洲第一页中文字幕| 欧美在线首页| 老司机午夜精品视频在线观看| 国产精品一页| 欧美在线一二三区| 免费观看一区| 亚洲国产毛片完整版 | 午夜精品www| 欧美影视一区| 国产综合自拍| 久久久欧美一区二区| 久久综合精品国产一区二区三区| 国产视频一区二区在线观看| 午夜亚洲性色福利视频| 久久久久久久97| 亚洲高清免费| 欧美理论电影网| 日韩午夜免费| 性色一区二区| 亚洲国产精品一区| 欧美日韩视频在线观看一区二区三区| 91久久中文字幕| 午夜精品久久久久99热蜜桃导演| 国产精品久久久久77777| 欧美一区二区免费视频| 欧美激情1区2区3区| 一区二区三区高清| 国产婷婷色一区二区三区| 久久综合九色综合久99| 99精品国产热久久91蜜凸| 欧美一区二区在线看| 亚洲电影成人| 国产精品久久久99| 久久亚洲视频| 一本色道久久综合亚洲精品高清| 亚洲欧美影院| 亚洲国产导航| 国产伦精品一区二区三区视频孕妇 | 欧美激情a∨在线视频播放| 亚洲一区二区成人| 欧美成人资源| 久久久久久久综合| 日韩网站在线| 国产日韩亚洲欧美| 欧美激情按摩在线| 欧美影院在线| 亚洲日本精品国产第一区| 欧美一区二区黄| 亚洲精品系列| 狠狠久久亚洲欧美专区| 欧美视频日韩| 久久综合电影| 午夜日韩电影| aa级大片欧美| 最新热久久免费视频| 久久先锋影音| 欧美在线播放一区二区| 亚洲色图自拍| 日韩视频免费看| 1024成人| 狠狠做深爱婷婷久久综合一区| 欧美午夜电影一区| 欧美激情第8页| 欧美大片一区| 免费久久久一本精品久久区|