###Jsp+Servlet购物商城day02.3:分页显示商品
来源:互联网 发布:最好的猫粮 知乎 编辑:程序博客网 时间:2024/05/21 08:52
功能入口:head.jsp导航栏。分类查询商品链接。===Ajax js代码DOM拼接的
处理Servlet:ProductServlet
功能出口:productList.jsp
功能入口:head.jsp导航栏。分类查询商品链接
<script type="text/javascript">//===页面加载完成,触发一个函数 $(function(){$.post("${pageContext.request.contextPath}/CategoryServlet",//请求路径{"method":"findAll"},//提交的数据function(v){//alert(v);//将数据设置进导航条 //<li><a href="#">电脑办公</a></li>for(var i = 0; i < v.length; i++){var cat = v[i];//{"cid":xxx,"cname":"yyyy"}$("#showCat").append("<li><a href='${pageContext.request.contextPath}/ProductServlet?method=findByCid&cid=" + cat.cid + "'>" + cat.cname + "</a></li>");}},//回调函数"json"//数据类型);}); </script>
处理Servlet:ProductServlet
实现步骤:
首先是数据库:mysql
select * from product where cid=? limit start, size;
页面显示不仅仅是商品信息,还有当前页号,pageSize。所以封装了PageBean。
这里给了一个工具类PageBean。===当然可以自己写,很简单。
package cn.itcast.domain;import java.io.Serializable;import java.util.List;public class PageBean<T> implements Serializable{private int pageNumber;//当前页 ---前台传递private int pageSize;//一页显示多少条数据 ---后台自定义private int startIndex;//起始索引下标 --- 计算出来private int totalRecord;//总记录数--- 查询出来private int totalPage; //总页数 --- 计算出来private List<T> result;//每一页的数据public PageBean() {super();// TODO Auto-generated constructor stub}public int getPageNumber() {return pageNumber;}public void setPageNumber(int pageNumber) {this.pageNumber = pageNumber;}public int getPageSize() {return pageSize;}public void setPageSize(int pageSize) {this.pageSize = pageSize;}public int getStartIndex() {return startIndex=(this.getPageNumber()-1)*this.getPageSize();}public void setStartIndex(int startIndex) {this.startIndex = startIndex;}public int getTotalRecord() {return totalRecord;}public void setTotalRecord(int totalRecord) {this.totalRecord = totalRecord;}public int getTotalPage() {return totalPage=(this.getTotalRecord()%this.getPageSize()==0?(this.getTotalRecord()/this.getPageSize()):(this.getTotalRecord()/this.getPageSize()+1));}public void setTotalPage(int totalPage) {this.totalPage = totalPage;}public List<T> getResult() {return result;}public void setResult(List<T> result) {this.result = result;}}ProductServlet:
public String findByCid(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {ProductService ps = new ProductServiceImpl();String cid = request.getParameter("cid");String pagenum = request.getParameter("pageNum");if (pagenum == null) {pagenum="1";}try {PageBean pb = ps.findByPage(cid,pagenum );request.setAttribute("pb", pb);} catch (SQLException e) {e.printStackTrace();}return "/product_list.jsp";}service:
@Overridepublic PageBean findByPage(String cid, String pagenum) throws SQLException {ProductDao pd = new ProductDaoImpl();PageBean pbean = new PageBean(); pbean.setPageNumber(Integer.parseInt(pagenum)); pbean.setPageSize(12); pbean.setStartIndex((Integer.parseInt(pagenum)-1)*12); int totalRecord = pd.getCountByCid(cid); pbean.setTotalRecord(totalRecord); //int totalPage = totalRecord/5==0?totalRecord/5:totalRecord/5+1; //pbean.setTotalPage(totalPage );//===计算来的,不用set List<Product> list = pd.findByPage( cid, pbean); pbean.setResult(list);return pbean ;}
dao
@Overridepublic List<Product> findByPage(String cid, PageBean pb) throws SQLException {QueryRunner qr = new QueryRunner(C3p0Utils.getDataSource());String sql = "select * from product where cid = ? limit ?,?";/* SQLException: near ''0','5'' at line 1 Query: select * from product where cid = ? limit ?,? Parameters: [1, 0, 5]//String[] params ={cid, pb.getStartIndex()+"", pb.getPageSize()+""};// * */Object[] params ={cid, pb.getStartIndex(), pb.getPageSize()};List<Product> list = qr.query(sql , new BeanListHandler<Product>(Product.class),params );return list;}
阅读全文
0 0
- ###Jsp+Servlet购物商城day02.3:分页显示商品
- ###Jsp+Servlet购物商城day02.2:首页显示 最新和热门商品
- ###Jsp+Servlet购物商城day02.4:商品详情 这个简单。不详述
- ###Jsp+Servlet购物商城day02.1: 页面加载完,导航栏显示分类信息。(在公共页面head.jsp)
- ###Jsp+Servlet购物商城day03.1:商品添加到购物车。重点笔记
- ###Jsp+Servlet购物商城day04.4:订单模块 【页面双层遍历】 显示本页所有订单。bootstrap分页下标。
- javaWeb购物商城设计---商品显示
- javaWeb购物商城设计---商品详情显示
- ###Jsp+Servlet购物商城day04.1:显示订单。【重中之重:查询3张表信息,封装到Order】
- 购物商城商品页面
- ###Jsp+Servlet购物商城day03.2:生成订单。重点笔记
- 购物商城--商品详情多级联动
- 用jsp实现一个简单的购物车web应用系统。实现的添加购物商品,删除购物商品并且显示购物车信息。
- jsp+servlet实现简单商品上传、商品浏览、与商品分页技术
- ###Jsp+Servlet购物商城day04.5:支付:订单支付遇到的问题总结。
- 商城项目中商品的分页查询
- 购物车(jsp servlet)
- ###Jsp+Servlet购物商城day04.2:订单模块难点总结。【购物商城最大的难点:【封装一个Order对象】查询封装三张表】
- HFile 数据文件格式总结
- Intellij idea破解办法
- Cannot resolve classpath entry: D:Developdevelop_jarwebmysql-connector-java-5.1.30.jar
- matlab的Regionprops详解
- 用Python的PIL模块进行基本的图像操作
- ###Jsp+Servlet购物商城day02.3:分页显示商品
- 关于格雷码在 FPGA 程序调试中的应用
- 信息量与熵笔记
- 关于"Ueditor 请求后台配置项http错误,上传功能将不能正常使用"的解决办法
- Java中数组的特性
- linux安装jdk1.8出现错误bash: export JAVA_HOME=/usr/local/java/jdk1.8.0_144: 没有那个文件或目录
- Eclipse鼠标悬停某方法调用上的描述,显示图片和提示样式
- RabbitMQ安装及高可用
- 【DIY】远程手机遥控车 androidbot