我在struts2应用程序中使用DisplayTag,我想查看点击分页的查询。
例如:当用户点击下一页或任何页面时,查询就会触发操作类。
文件: displayTag.jsp
<display:table name="list1" sort="list" size="20" pagesize="5" id="table1" export="true" requestURI="" partialList="true">
<display:column property="no" group="1" sortable="true" headerClass="sortable"></display:column>
<display:column property="nam" group="2" sortable="true" headerClass="sortable"></display:column>
<display:column property="ct" group="3" sortable="true" headerClass="sortable" autolink="true"></display:column>
<display:setProperty name="export.excel.filename" value="diplayTag.xls"></display:setProperty>
<display:setProperty name="export.pdf.filename" value="diplayTag.pdf"></display:setProperty>
<display:setProperty name="export.csv.filename" value="diplayTag.csv"></display:setProperty>
<display:setProperty name="export.pdf" value="true"></display:setProperty>
</display:table>
我使用request.setAttribute("list1", li);
我在list1(ArrayList)
设置所有数据并传递给 displayTag.jsp。
DisplayTag获取所有数据并以表格格式显示。但我的需要是一次只传递5个数据,然后点击下一页动作类发送其他5个数据,依此类推。
我推荐链接:Display tag pagination problem
但我无法理解,因为我在DisaplyTag上使用MySql和new。
DB: MySql
框架: struts2
答案 0 :(得分:0)
经过研究和努力工作,我找到了答案。
文件: displayTag.jsp
<display:table name="list1" sort="external" size="20" pagesize="5" id="table1" export="true" requestURI="disTag" partialList="true">
// code as above
</dispaly:table>
此处requestURI="disTag"
是一个操作名称。
文件: struts.xml
<action name="disTag" class="className">
<result name="success">/displayTag.jsp</result>
<result name="error">/error.jsp</result>
</action>
文件:类文件
page = Integer.parseInt(request.getParameter((new ParamEncoder("table1").encodeParameterName(TableTagParameters.PARAMETER_PAGE))));
if(page != 0)
{
start = (page - 1) * 5; //5 is row or data per page.
}
getData(start, 5); //getData is a method which store all data in ArrayList. Based on start index.