主页面加载书籍分类及图书绑定

本文介绍了一种通过Ajax技术动态加载书籍分类和图书展示的方法,包括从数据库获取书籍分类信息,以及通过js方法实现新书上架和热销书籍的动态展示。详细描述了Ajax请求、DAO方法和Action处理过程,以及图片映射上传的配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主页面加载书籍分类及图书绑定

书籍分类动态加载

如图从数据库获取数据加载:
在这里插入图片描述
数据库单独有一张表,只需要查询展示就可以了:
在这里插入图片描述

js文件
$.ajax({
		url:ct+'/category.action?methodName=combobox',
		success:function(data){
			data=eval('('+data+')');
			//<li class="list-group-item">玄幻</li>	
			
			for(i in data){
				$(".list-group").append('<li class="list-group-item">'+data[i].name+'</li>');
				$(".c-category li").eq(0).addClass('bg-color1');
				$(".c-category li:gt(0)").addClass('bg-color2');
				$(".c-category li:gt(0)").hover(function() {
					$(this).addClass('bg-opacity');
				}, function() {
					$(this).removeClass('bg-opacity');
				});	
			}	
		}
	})
dao方法
public List<Category> list(Category category,PageBean pageBean) throws Exception{
		String sql="select * from t_easyui_category where true";
		return super.executeQuery(sql, pageBean, Category.class);
	}
	
Action处理:
public String combobox(HttpServletRequest req,HttpServletResponse resp) {
	
	try {
		List<Category> list = this.cd.list(null, null);
		ResponseUtil.writeJson(resp, list);
	} catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	return null;

	
}

书籍展示

在这里插入图片描述

js方法:
	//加载新书上架
	$.ajax({
		url:ct+'/book.action?methodName=news',
		success:function(data){
//			debugger;
			data=eval('('+data+')');
			console.log(data);
	//给news 所属div添加row或列
			
			appendBookDiv($(".news"),data.date,0,"");
			
			
			
		}
		
	})
	
	
	
	
	
//热销书籍	
		$.ajax({
		url:ct+'/book.action?methodName=hots',
		success:function(data){
//			debugger;
			data=eval('('+data+')');
			console.log(data);
	//给news 所属div添加row或列
			
			appendBookDiv($(".hots"),data.date,0,"");
			
			
			
		}
		
	})
	
	
	
	
	
	
	
	
	
	
	
	
})
	/**
	 * 1.给哪个div追加html类容
	 * 2.最佳内容的数据来源
	 * 3.标识当前是第几行类容
	 * 4.最终追加的html
	 */
	
	function appendBookDiv($node,data,level,htmlstr){
	//第一行
		/*
		<img src="${pageContext.request.contextPath}/static/img/3.png" />
		<b style="color: red;">¥12</b>
	</div>*/
		var start=level * 6;
		
		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" >';
			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);
		}
	
		
		
		
		
		
	}
dao方法
	//门户新书上架
	public List<Book> newsbook(Book book,PageBean pageBean) throws Exception{
		String sql="select * from t_easyui_book where state=2 order by deployTime desc LIMIT 12";
		return super.executeQuery(sql,pageBean, Book.class );
	}
	
	
	
	//门户热销书籍
	public List<Book> hotsbook(Book book,PageBean pageBean) throws Exception{
		String sql="select * from t_easyui_book where state=2 order by sales desc LIMIT 12";
		return super.executeQuery(sql,pageBean, Book.class );
	}
Action处理
public String news(HttpServletRequest req,HttpServletResponse resp) {

	try {
		List<Book> newsbook = this.bookdao.newsbook(null, null);
		ResponseUtil.writeJson(resp, Result.ok(newsbook));
		
	} catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}

	
	return null;
}



//门户热销书籍
public String hots(HttpServletRequest req,HttpServletResponse resp) {
	 try {
		List<Book> hots = this.bookdao.hotsbook(null, null);
		ResponseUtil.writeJson(resp, Result.ok(hots));
	} catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	return null;
}


图片映射上传

最后为了加载图片使用了图片的映射,在tomcat中的server.xml文件中加入

在这里插入图片描述
在这里插入图片描述
deocBase是图片存放在本地的路径,path是我数据库中图片名的前缀如:
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值