displaytag指定跳轉頁

最近在做一個項目在表現層用的是displaytag來呈現,客戶試用過後要求添加跳轉指定頁的功能,經過研究,用比較簡單的方法實現了。
 
在displaytag_zh_CN.properties配置文件中,把paging.banner.full、paging.banner.first、paging.banner.last修改爲:
paging.banner.full=<span class="pagelinks"><input name="tz" id="tz" size="3" type="text" value="{5}"/>/{6}頁 <button onClick="displaytagURL()" >跳轉</button>[<a href="{1}">首頁</a>/<a href="{2}">上頁</a>]{0}[<a href="{3}">下頁</a>/<a href="{4}">尾頁</a>]<input id="hd" name="hd" type="hidden" value="{1}"/><input id="totalPageNum" name="totalPageNum" type="hidden" value="{6}"/></span>    
paging.banner.first=<span class="pagelinks"><input name="tz" id="tz" size="3" type="text" value="{5}"/>/{6}頁 <button onClick="displaytagURL()" >跳轉</button>[首頁/上頁] {0}[<a href="{3}">下頁</a>/<a href="{4}">尾頁</a>]<input id="hd" name="hd" type="hidden" value="{1}"/><input id="totalPageNum" name="totalPageNum" type="hidden" value="{6}"/></span>
paging.banner.last=<span class="pagelinks"><input name="tz" id="tz" size="3" type="text" value="{5}"/>/{6}頁 <button onClick="displaytagURL()" >跳轉</button>[<a href="{1}">首頁</a>/<a href="{2}">上頁</a>]{0} [下頁/尾頁]<input id="hd" name="hd" type="hidden" value="{1}"/><input id="totalPageNum" name="totalPageNum" type="hidden" value="{6}"/></span>
 
上面的displaytagURL()方法
function displaytagURL()
{
          var arrayOf_table_Tag = document.getElementsByTagName('table');
          for (var i=0; i<arrayOf_table_Tag.length; i++)
          {
                if(arrayOf_table_Tag[i].id.indexOf('cs')==0&&endWith(arrayOf_table_Tag[i].id,'List')) //form的名字,這裏是我的項目中的命名規則,csXXXXList,這裏要按照你的項目的命名規則來修改
                {
                 var charArray = "x-"+arrayOf_table_Tag[i].id;
                        var checkSum = 17;
                        for(var j = 0; j < charArray.length; j++)
                                {
                                checkSum = 3 * checkSum + charArray.charCodeAt(j);
                                }
                     checkSum &=8388607; //對form的名字的轉換,這裏可以在displaytag源碼中看到
                     var parameterIdentifier = "d-" + checkSum + "-p=";
                
                        var arrayOf_a_Tag = document.getElementsByTagName('a');
                 for (var k=0; k<arrayOf_a_Tag.length; k++){
                 if(arrayOf_a_Tag[k].title.indexOf('轉到第')==0)
                        {
                        
                                 var url = arrayOf_a_Tag[k].href; 
          var splitUrl = url.split("&");

            for(var l=0;l<splitUrl.length;l++)
            {
                    if(splitUrl[l].indexOf(parameterIdentifier)!=-1)
                     {
                        if(l==0)
                            {splitUrl[l]="?"+parameterIdentifier+document.getElementById('tz').value;}
                        else
                            {splitUrl[l]=parameterIdentifier+document.getElementById('tz').value;}
                        }
            }
            
          var realURL ='';
            
             for(m=0;m<splitUrl.length;m++)
             {
                 if(m!=splitUrl.length-1)
                 {realURL+=splitUrl[m]+'&';}
                 else
                 {realURL+=splitUrl[m];}
                } 
                window.location=realURL;
                break;
                return;
                        }
                    
                 }
            
                     }
                }
}
 
原理是很簡單的,就是修改系統的URL,不明白的地方可以聯繫我。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章