点击显示标签中的分页查询

时间:2017-03-18 07:07:50

标签: mysql jsp pagination struts2 displaytag

我在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

1 个答案:

答案 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.