折花入酒丶 2019-03-31 21:24 采纳率: 0%
浏览 815
已采纳

javaweb 用户可以自由选择出现的行列数(每页要显示多少);

图片说明

我输入自己想要的行列数,比如5行,他会变成5行,但是如果再点下面的页码就又变成原来的显示行数

<%@ page contentType="text/html;charset=UTF-8"%>
<%response.setHeader("Pragma","No-cache"); %>
<%response.setHeader("Cache-Control","no-cache"); %>
<%response.setHeader("Expires","0");%>
<%@ page import="cn.jbit.pagination.dao.PageDao" %>
<%@ page import="cn.jbit.pagination.bean.Topic" %>
<%@ page import="java.util.List" %>
<%

    String pageNumber = request.getParameter("pageNumber"); //显示第几页
    String getNumber=request.getParameter("inp");
    if(getNumber== null ||getNumber.equals("")){
        getNumber="4";
    }
    if(pageNumber == null || pageNumber.equals("")){ //如果没有此参数为空

        pageNumber = "1"; //缺省显示第一页

    }
    int number = Integer.parseInt(pageNumber); //转成整数类型
    int RECORD_COUNT = Integer.parseInt(getNumber); //每页显示的数据条数

    int start = 0; //从第几条开始

    int end = 0; //到第几条结束
    start = (number - 1) * RECORD_COUNT;
    end = number * RECORD_COUNT;
    System.out.println("start:"+start);
    System.out.println("end:"+end);
    PageDao dao = new PageDao();
    List<Topic> topics = dao.list(start,end);
    int count = dao.totalCount(); //总条数

    int total = (count - (count%RECORD_COUNT))/RECORD_COUNT; //总页数

    if(count % RECORD_COUNT != 0){
        total++;
    }
    System.out.println("++"+getNumber);
    System.out.println("++RECORD_COUNT"+RECORD_COUNT);

 %>
<html>
<head>
<script language='Javascript'>
    function selectShow(){
    var getnumber=document.getElementById("select");
    var getvalue=document.getElementById("select").value;
    document.location='index.jsp?pageNumber='+getvalue+'&getNumber=<%= getNumber%>';
}
    function load()
    {
        var getnumber=document.getElementById("select");
        getnumber.selectedIndex = <%=pageNumber%> - 1;  //下拉菜单的索引号
    }
    function on(){
        var getvalue=document.getElementById("input").value;
        alert(getvalue)
        document.location='index.jsp?pageNumber=1&getNumber='+getvalue;

    }

</script>
<title>航班查询</title>
</head>
<style>
 a{text-decoration:none;}
</style>
<body onload="load()">
<br/>

<center>
自定义你要显示的行数:<br/>
<form action="index.jsp?pageNumber=1&getNumber=<%=getNumber%>" method="post"><br/>
<input name="inp" id="input" value="<%= RECORD_COUNT%>"/>
<input type="submit" value="onclick" name="but" onclick="on()"/>
  </form>
<table width='40%'  >
<tr bgcolor='pink'>
<td width='30%'  >专题编号</td>
<td width='50%'>专题名称</td>
</tr>
<%for(int i = 0;i < topics.size();i++){ %>
<tr>
<td width='30%'><%=topics.get(i).getTid() %></td>
<td width='50%'><%=topics.get(i).getTname() %></td>
</tr>
<%} %>
</table>
<br/>
<br/>
页码:
<a href="index.jsp?pageNumber=1&getNumber=<%=getNumber%>" >&nbsp;&nbsp;首页</a>&nbsp;&nbsp;&nbsp;
<%for(int i = 1;i <= total;i++) {%>
<a href="index.jsp?pageNumber=<%=i%>&getNumber=<%=getNumber%>"><%=i%></a>&nbsp;&nbsp;&nbsp;
<%}%>
<a href="index.jsp?pageNumber=<%=total%>&getNumber=<%=getNumber%>">末页</a>
<select id="select" onchange="selectShow()">
<%for(int i = 1;i <= total;i++) {%>
 <option value="<%=i%>" ><%=i%></option>

<%}%>
</select>
</center>
</body>
</html>
  • 写回答

2条回答 默认 最新

  • 躺平打工人 2019-03-31 22:48
    关注

    每次点击下一页的时候,将设置的条数回传给服务器端,

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!