Display Tag真是弄得我焦头烂额。。。
将displaytag.properties配置文件中的以下三项替换:
paging.banner.full: <span class="pagelinks">[<a href="{1}">首页</a>/<a href="{2}">上页</a>] {0} [<a href="{3}">下页</a>/<a href="{4}">末页</a>]跳转到第<input name="tz" id="tz" size="1" type="text" style="width: 23px" />页<input type="button" onclick="OtherPage_Go();" value="GO"/><input id="hd" name="hd" type="hidden" value="{1}"/></span> paging.banner.first: <span class="pagelinks">[首页/上页] {0} [<a href="{3}">下页</a>/<a href="{4}">末页</a>]跳转到第<input name="tz" id="tz" size="1" type="text" style="width: 23px" />页<input type="button" onclick="firstPage_Go();" value="GO"/><input id="hd" name="hd" type="hidden" value="{1}"/></span> paging.banner.last: <span class="pagelinks">[<a href="{1}">首页</a>/<a href="{2}">上页</a>] {0} [下页/末页]跳转到第<input name="tz" id="tz" size="1" type="text" style="width: 23px" />页<input type="button" onclick="OtherPage_Go();" value="GO"/><input id="hd" name="hd" type="hidden" value="{1}"/></span>
国际化转码后:
paging.banner.full=<span class\="pagelinks">[<a href\="{1}">\u9996\u9875</a>/<a href\="{2}">\u4E0A\u9875</a>] {0} [<a href\="{3}">\u4E0B\u9875</a>/<a href\="{4}">\u672B\u9875</a>]\u8DF3\u8F6C\u5230\u7B2C<input name\="tz" id\="tz" size\="1" type\="text" style\="width\: 23px" />\u9875<input type\="button" onclick\="OtherPage_Go();" value\="GO"/><input id\="hd" name\="hd" type\="hidden" value\="{1}"/></span> paging.banner.first=<span class\="pagelinks">[\u9996\u9875/\u4E0A\u9875] {0} [<a href\="{3}">\u4E0B\u9875</a>/<a href\="{4}">\u672B\u9875</a>]\u8DF3\u8F6C\u5230\u7B2C<input name\="tz" id\="tz" size\="1" type\="text" style\="width\: 23px" />\u9875<input type\="button" onclick\="firstPage_Go();" value\="GO"/><input id\="hd" name\="hd" type\="hidden" value\="{1}"/></span> paging.banner.last=<span class\="pagelinks">[<a href\="{1}">\u9996\u9875</a>/<a href\="{2}">\u4E0A\u9875</a>] {0} [\u4E0B\u9875/\u672B\u9875]\u8DF3\u8F6C\u5230\u7B2C<input name\="tz" id\="tz" size\="1" type\="text" style\="width\: 23px" />\u9875<input type\="button" onclick\="OtherPage_Go();" value\="GO"/><input id\="hd" name\="hd" type\="hidden" value\="{1}"/></span>
页面上的JS代码:
<script type="text/javascript"> function fucCheck(INDEX) { var i,j,strTemp; strTemp="0123456789"; for (i=0;i<INDEX.length;i++) { j=strTemp.indexOf(INDEX.charAt(i)); if (j==-1) { //说明有字符不合法 return false; } } //说明合法 return true; } function firstPage_Go(){ var page = document.getElementById("tz").value; var total = ${pages}; // 当前数据的总页数,从Action中传值过来 if(!fucCheck(page)){ alert("输入数字非法,请重新输入!"); return false; } if(page > total){ alert("超出了最大页数,请重新输入!"); }else if(page < 1){ alert("页数不能小于1!"); }else{ window.location=document.getElementById("hd").value.replace("p=","p="+document.getElementById("tz").value); } } function OtherPage_Go(){ var page = document.getElementById("tz").value; var total = ${pages};// 当前数据的总页数,从Action中传值过来 if(!fucCheck(page)){ alert("输入数字非法,请重新输入!"); return false; } if(page > total){ alert("超出了最大页数,请重新输入!"); }else if(page < 1){ alert("页数不能小于1!"); }else{ window.location=document.getElementById("hd").value.replace("p=1","p="+document.getElementById("tz").value); } } function preparaSubmit(evt){ var nKeyCode = window.event?event.keyCode:evt.which; if(nKeyCode==13){ go2(); } } </script>
问题:
1.如果在<input name="tz" id="tz" size="1" type="text" style="width: 23px" />里加入键盘回车响应事件,同时对输入的数字进行JS校验,如果校验不通过,且用户继续用回车键确定弹出框,因为我用“window.location”跳转新页面,则一直响应键盘回车事件。
2.每次点击“第几页”的链接,Display Tag为页面链接生成的URL都会将Struts配置文件中的包名加上,点的次数越多,URL越长,会不会出现URL过长导致不能点击?