java ajax分页问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java ajax分页问题相关的知识,希望对你有一定的参考价值。

纯ajax实现,从数据库查询数据,然后装到list然后返回到serverlet再在jsp页面显示;详细看具体代码?
主要是如何装和如何返回到jsp页面,因为xmlrequest接收的是一个文本;在线等答案,麻烦给出简单明了的思路!

JSP页面代码:
//分页显示
function fyxs(ym)
//判断浏览器
if(window.ActiveXObject)
xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP"); //ie浏览器
else if(window.XMLHttpRequest)
xmlHttpRequest = new XMLHttpRequest(); //ie以外的浏览器


if(null!=xmlHttpRequest)
//提交
xmlHttpRequest.open("POST","SerletFy",true);
//设置头信息
xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//回调函数
xmlHttpRequest.onreadystatechange=fyhd;
//建立连接
xmlHttpRequest.send("ym="+ym);



function fyhd()
//判断状态
if(xmlHttpRequest.readyState==4)
if(xmlHttpRequest.status==200)
var b=xmlHttpRequest.responseText;
document.getElementById("bg").innerhtml=c;




Serverlet代码:
response.setContentType("text/html");
PrintWriter out = response.getWriter();
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
//实例化
PageBean pb = new PageBean();
//获取当前页码
String bb = request.getParameter("ym");
//判断页码
if("1".equals(bb))
pb.setPbsql("SELECT TOP 5 * FROM BOOKS WHERE bid BETWEEN 1 and 5");
DaoSqlserver ds = new DaoSqlserver();
List<PageBean> ls = new ArrayList();
ls=ds.sect(pb);
Bean代码:
private int Bsl;//数量
private int Bid;//编号
private String BookName;//图书名字
private String Bprice;//图书价格
private String Image;//图片存放路径
生成了getset方法
数据层代码:
public List<PageBean>sect(PageBean pb)
//获取连接
SqlBean bn = new SqlBean();
Connection conn = bn.sqlrun();
PreparedStatement ps;
ResultSet rs;
List <PageBean>ls=new ArrayList();
try
ps=conn.prepareStatement(pb.getPbsql());
rs=ps.executeQuery();
for(int i =0;i<5;i++)
while(rs.next())
这里怎么装?



catch (Exception e)



return ls;

while(rs.next)
//这里这么做,首先实例化你的数据表,比如你的数据表实体类是Book,里面含有“数量”,“图书编号”,“书名”,“价格”,“图书编号”等成员变量。
Book book = new Book();
//将从数据库中读取的字段插入到Book实例中
book.setBsl(rs.getInt("Bsl"));
book.setBid(rs.getInt("Bid"));
book.setBid(rs.getString("BookName"));
book.setBid(rs.getString("Bprice"));
book.setBid(rs.getString("Image"));
//最后添加到list里面去
ls.add(book);

//最后将list返回
return ls;

//楼主不知道你的数据表,所以rs.getString("这里面的字段是你数据表的相关字段")

参考资料:纯手打

参考技术A 你会用gson吗?会的话直接把对象装到list里面 然后把list转成字符串 到 jsp页面 在用eval()内部执行函数 转换成js的数组这不就读出来了吗追问

我们还没学gson,有其他思路吗?

追答

。。。那就自己拼字符串吧 无非累点肯定可以实现

如何从 ajax 获取分页链接?

【中文标题】如何从 ajax 获取分页链接?【英文标题】:How can I get pagination links from ajax? 【发布时间】:2016-10-07 19:08:12 【问题描述】:

(laravel 4).

在我看来,我有:

$posts->links();

显示帖子分页并且工作正常, 然后我决定有一个适用于 ajax 的搜索字段。 问题是当我搜索某些内容时,我也需要更改分页。 (新的结果分页)。

我在我的 PostsAjax 函数上尝试了类似的方法:

$posts=Post::where(...)->paginate(9);
foreach($posts as $post)
$results.='<li>..</li>';

$data=array('results'=>$results, 'pagination'=>$posts->links());
            return Response::json($data);

但是 ajax 响应 data.pagination 是空的。

【问题讨论】:

【参考方案1】:

如果您在控制器中返回搜索结果,如下所示:

return Post::where(...)->paginate(9);

输出将是:


    "total":14,
    "per_page":10,
    "current_page":1,
    "last_page":2,
    "from":1,
    "to":10,
    "data":
        [
            post_id: 1, title: 'your_search',
            post_id: 2, title: 'your_search'
        ]

要获取下一页,您必须向与查询字符串页面www.example.com/searchpost/key?page=2 相同的url 发出请求。

【讨论】:

以上是关于java ajax分页问题的主要内容,如果未能解决你的问题,请参考以下文章

在php里面用ajax怎么做分页

急求一个jsp+ajax实现分页的例子

基于mybatis ajax 分页的实现

分页 工具类 前后台代码 Java JavaScript (ajax) 实现 讲解

用ajax做一个查询,然后分页,在将数据返回从java返回ajax的时候,怎样将list等返回

MvcPager 概述 MvcPager 分页示例 — 标准Ajax分页 对SEO进行优化的ajax分页 (支持asp.net mvc)