如何使用Spring框架中的display标签跳转到特定的页码

时间:2011-09-16 10:44:33

标签: java javascript displaytag

我想使用带有文本框和“go”按钮的显示标签跳转到特定的页码。 点击GO按钮调用一个javascript,它应该通过那个没有发生的.htm进入该特定页面。 请为这种获取特定页面的特定方式提出建议,否则我们总是欢迎其他建议  以下是我目前所知的displaytag.properties中的参数

在这里输入代码

{0}: numbered pages list
{1}: link to the first page
{2}: link to the previous page
{3}: link to the next page
{4}: link to the last page
{5}: current page
{6}: total number of pages

下面是点击GO按钮时调用的javascript函数

function selectPage(){
 alert("pageNo:" +document.portalDisplayform.selPageNo[0].value);
 alert("pageNo:" +document.portalDisplayform.selPageNo[1].value);
 var pageNo = document.portalDisplayform.selPageNo[0].value;
 var pageNo = document.portalDisplayform.selPageNo[1].value;
 document.portalDisplayform.action = '<%=request.getContextPath()%      >'+"/portalAccessdisplay.htm?tokenId="+'<%=cachetoken%>'+pageNo;
 document.portalDisplayform.submit();

}

2 个答案:

答案 0 :(得分:0)

这并不容易,因为displaytag对参数进行编码(以避免命名与功能参数冲突),并且每个表使用一个唯一的ID,以防多个表位于同一页面上。我建议你下载displaytag的源代码,看一下ParamEncoder和Pagination类(以及它们的调用者),以了解如何通过displaytag构建指向特定页面的链接。您必须使用类似的代码来生成URL,并且您必须在JavaScript代码中修改相应(编码)参数的值。

答案 1 :(得分:0)

最简单的方法是,您可以修改display-tag jar文件中的TableTag.java。在此文件中修改initParameters()方法。在方法里面 放置以下4行代码。 在initParameters()方法之后的这一行之后。

this.pageNumber = (pageNumberParameter == null) ? 1 : pageNumberParameter.intValue();

放置以下代码

if((request.getParameter("pageno") != null) && (request.getParameter("pageno") != ""))
{
     this.pageNumber=Integer.parseInt(request.getParameter("pageno"))
}     

TextBox页面中使用名为pageno的DisplayTag。同时在DisplayTag属性excludedparam中包含该名称。