我想使用带有文本框和“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();
}
答案 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
中包含该名称。