分类数据展示功能
类别id传递
点击了不同的分类后将来看到的旅游线路不一样的。通过分析数据库表结构,发现
旅游线路表和分类表是一个多对一的关系
CategoryServiceImpl实现类:
public class CategoryServiceImpl implements CategoryService {
private CategoryDao categoryDao = new CategoryDaoImpl();
@Override
public List<Category> findAll() {
// 1、从redis中查询
// 获取jedis客户端
Jedis jedis = JedisUtil.getJedis();
//可以使用sortedset排序查询
//Set<String> categorys = jedis.zrange("category", 0, -1);
// 1.3查询sortedset中的分数(cid)和值(cname)
Set<Tuple> categorys = jedis.zrangeWithScores("category", 0, -1);
List<Category> cs = null;
// 2、判断查询的集合是否为空
if (categorys == null || categorys.size()==0){
System.out.println("从数据库查询.....");
// 3、如果为空,需要从数据库查询,再将数据存入redis
//从数据库查询
cs = categoryDao.findAll();
// 将数据集合存储到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("从redis查询.....");
// 4、如果不为空,直接返回
cs = new ArrayList<>();
for (Tuple tuple : categorys) {
Category category = new Category();
category.setCname(tuple.getElement());
category.setCid((int) tuple.getScore());
cs.add(category);
}
}
return cs;
}
}
header.html类:
<script>
$(function () {
$.get("user/findOne",{},function (data) {
var msg = "欢迎回来,"+data.name;
$("#span_username").html(msg);
});
$.get("category/findAll",{},function (data) {
var lis = '<li class="nav-active"><a href="index.html">首页</a></li>';
// 遍历数组,拼接字符串
for (var i = 0; i < data.length; i++) {
var li = '<li><a href="route_list.html?cid='+data[i].cid+'">'+data[i].cname+'</a></li>';
lis+=li;
}
lis+='<li><a href="favoriterank.html">收藏排行榜</a></li>';
// 将lis字符串,设置到ul的html内容中
$("#category").html(lis);
});
});
</script>
route_list.html页面:
<script>
$(function () {
var search = location.search;
// 切割字符串,拿到第二个值
var id = search.split("=")[1];
alert(id)
});
</script>


浙公网安备 33010602011771号