旅游线路分页展示_类别id传递与旅游线路分页展示_分页数据展示_分析
旅游线路分页展示_类别id传递
1.旅游线路的分页展示
点击了不同的分类后,将来看到的旅游线路不一样的。通过分析数据库表结构,发现,旅游线路表和分类表时一个多对一的关系
查询不同分类的旅游线路sql
Select * from tab_route where cid = ?;
2.类别id的传递
Redis中查询score(cid)
<script> $(function (){ var search = location.search; //alert(search)//?id =5 //切割字符串,拿到第二个值 var cid = search.split("=")[1]; }); </script>
var li = '<li><a href="route_list.html?cid='+data[i].cid+'">'+data[i].cname+'</a></li>';
package cn.itcast.travel.service.impl; import cn.itcast.travel.dao.CategoryDao; import cn.itcast.travel.dao.impl.CategoryDaoimpl; import cn.itcast.travel.domain.Category; import cn.itcast.travel.service.CategoryService; import cn.itcast.travel.util.JedisUtil; import redis.clients.jedis.Jedis; import redis.clients.jedis.Tuple; import java.util.ArrayList; import java.util.List; import java.util.Set; public class CategoryServiceimpl implements CategoryService { private CategoryDao categoryDao = new CategoryDaoimpl(); @Override public List<Category> findAll() { //1.从redis中查询 //1.1jedis客户端 Jedis jedis = JedisUtil.getJedis(); //1.2.可使用sortedest排查查询 //Set<String> categorys = jedis.zrange("category", 0, -1); //1.3.查询sortedest中的分数(cid)和值(cname) Set<Tuple> categorys = jedis.zrangeWithScores("category", 0, -1); List<Category> cs = null; //1.2.判断查询的集合是否为空 if (categorys == null || categorys.size() == 0){ System.out.println("从数据库查询"); //3.如果为空,需要从数据库查询,在将数据库存入redis //3.1.从数据查询 cs = categoryDao.findAll(); //3.2 将集合数据存储到redis中的category的key for (int i = 0; i < cs.size(); i++) { jedis.zadd("category",cs.get(i).getCid(),cs.get(i).getCname()); } }else { System.out.println("从reids中查询"); //4.如果不为空,将set的数据存入list cs = new ArrayList<Category>(); for (Tuple tuple:categorys){ Category category = new Category(); category.setCname(tuple.getElement()); category.setCid((int)tuple.getScore()); cs.add(category); } } return cs; } }
根据id查询不同类别的旅游路线
旅游线路分页展示_分页数据展示_分析
1.根据id查询不同类别的旅游线路数据
分页展示旅游线路数据:
分析:
2. 编码
- 客户端代码编写
- 服务器端代码编写
a) 创建PageBean对象:
package cn.itcast.travel.domain; import java.util.List; /** * 分页对象 */ public class PageBean<T> { private int totalCount;//总记录数 private int totalPage;//总页数 private int currentPage;//当前页码 private int pageSize;//每页显示的条数 private List<T> list;//每页显示的数据集合 public int getTotalCount() { return totalCount; } public void setTotalCount(int totalCount) { this.totalCount = totalCount; } public int getTotalPage() { return totalPage; } public void setTotalPage(int totalPage) { this.totalPage = totalPage; } public int getCurrentPage() { return currentPage; } public void setCurrentPage(int currentPage) { this.currentPage = currentPage; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public List<T> getList() { return list; } public void setList(List<T> list) { this.list = list; } }
翻译
搜索
复制