Java 如何在Spring框架中使用display标记跳转到特定的页码
我想使用带有文本框和“go”按钮的显示标签跳转到特定的页码。 点击GO按钮调用一个javascript,在其中它应该通过该.htm转到该特定页面,但这并没有发生。 请为这种获取特定页面的特殊方式提出一个论点,否则,我们始终欢迎其他建议 下面是到目前为止我知道的displaytag.properties中的参数 在这里输入代码Java 如何在Spring框架中使用display标记跳转到特定的页码,java,javascript,displaytag,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
{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();
function selectPage(){
警报(“页码:+document.portalDisplayform.selPageNo[0].value”);
警报(“页码:+document.portalDisplayform.selPageNo[1].value”);
var pageNo=document.portalDisplayform.selPageNo[0]。值;
var pageNo=document.portalDisplayform.selPageNo[1]。值;
document.portalDisplayform.action=''+''/portalAccessdisplay.htm?tokenId=“+''+pageNo;
document.portalDisplayform.submit();
}这并不容易,因为displaytag对参数进行编码(以避免与功能参数的命名冲突),并且在多个表位于同一页面的情况下,每个表使用唯一的ID。我建议您下载displaytag的源代码,查看ParamEncoder和Pagination类(以及它们的调用者),以了解displaytag是如何构造指向特定页面的链接的。您必须使用类似的代码来生成URL,并且必须在JavaScript代码中修改相应(编码)参数的值。这并不容易,因为displaytag对参数进行编码(以避免命名与功能参数冲突),并为每个表使用唯一的ID,以防多个表格在同一页上。我建议您下载displaytag的源代码,查看ParamEncoder和Pagination类(以及它们的调用者),以了解displaytag是如何构造指向特定页面的链接的。您必须使用类似的代码来生成URL,并且必须修改JavaScript代码中相应(编码)参数的值。最简单的方法是,您可以修改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"))
}
并在
DisplayTag
页面中使用名为pageno的TextBox
。还可以在DisplayTag
属性excludedparam
中包含名称。最简单的方法是,可以修改DisplayTag 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"))
}
并在
DisplayTag
页面中使用名为pageno的TextBox
。在DisplayTag
属性excludedparam
中也包含与spring框架无关,与java也无关的名称。请修复您的问题和标记。您正在将页码附加到缓存令牌。考虑把它作为一个实际的URL参数用一个名称传递。您没有说明是否正在进行服务器端分页,是吗?这与spring框架无关,也与java无关。请修复您的问题和标记。您正在将页码附加到缓存令牌。考虑把它作为一个实际的URL参数用一个名称传递。您没有说明是否正在进行服务器端分页,是吗?