gpt4 book ai didi

java - 将表单提交到 Struts 操作后,在 DisplayTag 上将页面设置为 1

转载 作者:太空宇宙 更新时间:2023-11-04 07:33:18 24 4
gpt4 key购买 nike

将 DisplayTag 库与 Struts 2 和外部排序 (PaginatedLists) 结合使用对我的项目非常有用。

不幸的是,当我向 DisplayTag 发送一个非分页列表并尝试让 DisplayTag 进行分页时,这就是问题出现的地方。

目前,我可以毫无问题地导航到所有结果页面。当我再次将表单提交给 Struts 以获得新结果时,我遇到了问题。然后 DisplayTag 不会将其页码重置为 1,而是保留在我上次选择的页面上并保留它。

所以我的列表现在包含不同数量的数据,但 DisplayTag 仍然显示在我之前的页面上。

我通过 request.getParameter("d-16544-p") 获取了当前页码,并尝试将其手动重置为 1,但没有成功。

还有

(Integer.parseInt
(request.getParameter(
(new ParamEncoder(tableId)
.encodeParameterName(TableTagParameters.PARAMETER_PAGE)
)
)) - 1 ) * pageSize

DisplayTag 文档中的建议并没有多大帮助。

所以我的问题是,在向 Struts 2 操作提交新请求并返回结果后,如何重置 Displaytag 以转到页面“1”。

最佳答案

最终通过解决方法解决了这个问题。由于我在同一页面上有两个显示标签表,因此比预期更复杂。

我在显示标签上添加了clearStatus="${clear1Status}",其中clear1Status是第一个表的状态。

然后必须在我的 jsp 上添加一些额外的代码

    <%
String firstNumParameter = new org.displaytag.util.ParamEncoder("tableRow").encodeParameterName(org.displaytag.tags.TableTagParameters.PARAMETER_PAGE);

if(request.getParameter(firstNumParameter ) == null) {
pageContext.setAttribute("clear1Status", "true");

}else{
pageContext.setAttribute("clear1Status", "false");
}
%>

这解决了我的问题。至少在我的场景中是这样。

关于java - 将表单提交到 Struts 操作后,在 DisplayTag 上将页面设置为 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17361760/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com