网上书城之门户首页及新书上架,热销书籍

网上书城之门户首页及新书上架,热销书籍

实现功能

继上几篇博客的代码 我打算把各种功能的代码一一清楚的写出来 今天写的是门户首页及新书上架,热销书籍!

门户首页功能

门户首页分为两个java包和一部分的.js
CategoryDao

package com.huangjie.Dao;

import java.util.List;

import com.huangjie.entity.Category;
import com.huangjie.utils.BaseDao;
import com.huangjie.utils.PageBean;


public class CategoryDao extends BaseDao<Category> {

    public List<Category> list(Category category, PageBean pageBean) throws Exception {
        String sql = "select * from t_easyui_category ";
        return super.executeQuery(sql,pageBean,Category.class);
    }
}

CategoryAction

package com.huangjie.web;

import java.sql.SQLException;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.huangjie.Dao.CategoryDao;
import com.huangjie.entity.Category;
import com.huangjie.framework.ActionSupport;
import com.huangjie.framework.ModelDriven;
import com.huangjie.utils.ResponseUtil;


public class CategoryAction extends ActionSupport implements ModelDriven<Category> {
    private Category category = new Category();
    private CategoryDao categoryDao = new CategoryDao();

    public String combobox(HttpServletRequest req,HttpServletResponse resp) {
		try {
			List<Category> list = this.categoryDao.list(null, null);
			ResponseUtil.writeJson(resp, list);
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

    @Override
    public Category getModel() {
        return category;
    }
}

因为比较麻烦 所以我把.js写在下面就不分开了

新书上架,热销书籍

新书上架和热销书籍也是分别有两个java包和一个.js
BookDao

package com.huangjie.Dao;



import java.util.List;

import com.huangjie.entity.Book;
import com.huangjie.utils.BaseDao;
import com.huangjie.utils.PageBean;
import com.huangjie.utils.StringUtils;



public class BookDao extends BaseDao<Book> {
    public List<Book> newsBook(Book book, PageBean pageBean) throws Exception {
        String sql = "select * from t_easyui_book where state = 2 order by deployTime desc";
        return super.executeQuery(sql, pageBean, Book.class);
    }

    public List<Book> hotBook(Book book, PageBean pageBean) throws Exception {
        String sql = "select * from t_easyui_book where state = 2 order by sales desc";
        return super.executeQuery(sql, pageBean, Book.class);
    }




}

BookAction

package com.huangjie.web;



import java.io.File;
import java.util.Iterator;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

import com.huangjie.Dao.BookDao;
import com.huangjie.entity.Book;
import com.huangjie.framework.ActionSupport;
import com.huangjie.framework.ModelDriven;
import com.huangjie.utils.DateUtil;
import com.huangjie.utils.EasyuiResult;
import com.huangjie.utils.PageBean;
import com.huangjie.utils.PropertiesUtil;
import com.huangjie.utils.ResponseUtil;


public class BookAction extends ActionSupport implements ModelDriven<Book> {
    private Book book = new Book();
    private BookDao bookDao = new BookDao();
    public String news(HttpServletRequest request, HttpServletResponse response) {
        PageBean pageBean = new PageBean();
        pageBean.setRequest(request);
        try {
            List<Book> list = this.bookDao.newsBook(book, pageBean);
            ResponseUtil.writeJson(response, EasyuiResult.ok(pageBean.getTotal(), list));
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

   
    public String hot(HttpServletRequest request, HttpServletResponse response) {
        PageBean pageBean = new PageBean();
        pageBean.setRequest(request);
        try {
            List<Book> list = this.bookDao.hotBook(book, pageBean);
            ResponseUtil.writeJson(response, EasyuiResult.ok(pageBean.getTotal(), list));
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
     @Override
    public Book getModel() {
        return book;
    }
}

index.js

$(function () {
  
    //后面渲染的元素节点
    $(".list-group").on('mouseenter','.list-group-item:gt(0)',function () {
        $(this).addClass('list-group-item-hover');
    });

    $(".list-group").on('mouseleave','.list-group-item:gt(0)',function () {
        $(this).removeClass('list-group-item-hover');
    });


    //分类
    $.ajax({
        url: '${pageContext.request.contextPath}/category.action?methodName=combobox',
        success: function (data) {
            data = eval('('+data+')');
            // debugger;
            for (i in data) {
                $(".list-group").append('<li onclick="searchByType('+ data[i].id+')" class="list-group-item">' + data[i].name + '</li>');
            }
        }
    });
//	加载新书
	$.ajax({
		url:ctx+'/book.action?methodName=news',
		success:function(data){
			data = eval('('+data+')');
//			给news container 所属的div添加row或者列
			
			appendBookDiv($(".news"),data.data,0,"");
		}
	});
	
//	加载热销书籍
	$.ajax({
		url:ctx+'/book.action?methodName=hots',
		success:function(data){
			data = eval('('+data+')');
//			给news container 所属的div添加row或者列
			appendBookDiv($(".hots"),data.data,0,"");
		}
	});

})

/*
 * 1、给哪个div追加html内容(jquery对象)
 * 2、最佳内容的数据来源
 * 3、标识当前是第几行内容
 * 4、最终追加的html
 */
function appendBookDiv($node,data,level,htmlstr){
//	第一行:0-5
	var start = level * 6;
	
//	data的数据12条
	var len = data.length;
	htmlstr += '<div class="row book">';
	for(i=start;i<start+6;i++){
		if(i==len) break;
		htmlstr += '<div class="col-sm-2" style="width: 90px;">';
		htmlstr += '<img src="'+data[i].image+'" >';
		htmlstr += '<p>'+data[i].name+'</p>';
		htmlstr += '<b>¥'+data[i].price+'</b>';
		htmlstr += '</div>';
	}
	htmlstr += '</div>';
	level++;
	if(start+6>=len){
		$node.append(htmlstr);
	}else{
		appendBookDiv($node,data,level,htmlstr);
	}
}


总结

今天的内容就是这么多啦!这个项目写的时间会比较久 分很多篇博客写!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值