后台action已经能够分页,只是却前台控制分页的参数,请问怎么从前台用jquery将所需参数传到action中?必须使用jquery。。。。
------------------------------------------------------
public class BookListAction extends BaseAction {
private BookListService bookListService;
private List<Book> booklist;
private Pageination p=new Pageination();
public String gotoBookList(){
logger.info("action--gotoBookList");
//booklist=bookListService.listAllBooks();//不带分页的列表
//int page=Integer.parseInt(servletRequest.getParameter("page"));
//logger.info("---page"+page);
//int pageSize=Integer.parseInt(servletRequest.getParameter("pageSize"));
//logger.info("---pageSize"+pageSize);
p.setPage(1);
p.setPageSize(3);
booklist=bookListService.listAllBooksWithPage(p);//带分页的列表
logger.info("booklist.size:"+booklist.size());
return SUCCESS;
}
public List<Book> getBooklist() {
return booklist;
}
public void setBooklist(List<Book> booklist) {
this.booklist = booklist;
}
public BookListService getBookListService() {
return bookListService;
}
public void setBookListService(BookListService bookListService) {
this.bookListService = bookListService;
}
public Pageination getP() {
return p;
}
public void setP(Pageination p) {
this.p = p;
}
}
前台:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<html>
<script type="text/javascript" src="jquery-1.4.4.min.js"></script>
<script type="text/javascript">
//此处添加jquery控制分页代码
</script>
<body>
<div>
<s:iterator value="%{booklist}">
书名:<s:property value="bookname"/>
出版时间:<s:property value="publishtime"/>
数量:<s:property value="booknumber"/><br>
</s:iterator>
</div>
<a href="#" onclick="" >首页</a>
<a href="#" onclick="" >上一页</a>
<a href="#" onclick="" >下一页</a>
<a href="#" onclick="" >尾页</a>
</body>
</html>
运行结果:
书名:book1 出版时间:2012-04-22 14:06:28 数量:2
书名:book2 出版时间:2012-04-24 14:06:28 数量:101
书名:book3 出版时间:2012-03-20 14:06:28 数量:1020
首页 上一页 下一页 尾页
------解决方案--------------------
传递页数和每页大小到后台
------解决方案--------------------
楼主,你私信和我回复我帖这里吧
zhenchuang99
请教一个问题,比如我们现有ssh框架后台,一个列表已经能够取出,前台使用struts标签列出数据,但还需从前台取得分页参数:当前页和分页大小两个参数,这两个参数肯定要点击按钮或连接异步刷新的,在前台能用jquery+ajax对后台action进行对分页参数的传递么?前台该怎么传,后台action该怎么接呢?对jquery不熟悉。
jquery+ajax的post方法不明白,网上说传json的参数,但在后台action里该怎么接。。。真是不明白。。
希望能给与指点,谢谢。
----我回复----------------------------------
你说的SSH是什么我都不懂,我后台用asp.net 或者asp,php,
jquery+ajax 的post,和你直接用form,手动post过去没什么两样,都是传名值对集合过去。
得到的返回结果也没什么两样的,完全都是纯文本。
你后台随便怎么处理,理论上和前台用什么完全没关系。
当然,为了节约前台的处理,有时候常常把生成的字符串直接格式化为json形式,但这不是必须的。
------解决方案--------------------
- JScript code
//这是我的一个代码示例 ,实现的是在弹出中修改,然后直接显示页面上 $.ajax({ type: "POST", //参数这里可以直接传递 url: "<eaglelink:contextpath/>/html/lablemanager/lables!update.action?id="+id + "&lablestype=" + lablestype + "&lablename=" +encodeURI(encodeURI(lablename)) + "&labledesc=" + encodeURI(encodeURI(labledesc)) , async: false , success: function(data){ if(data!=""){ toShow(data); document.getElementById("updateLable").style.display="none"; }else{ document.getElementById("updateLable").style.display="block"; alert("修改信息失败!"); } } });