您的位置:首页 > 其它

做毕设(十四)——新闻标签

2017-09-28 10:38 190 查看
上次把新闻的比tag取出来了,现在把他显示到页面上。

<div class="tag" th:text="${News.type}">tag</div>


取出新闻类型xx,xxx,xx,xxx,xx

处理一下

var tagArray = $(".tag").text().split(',');
var tag = "";
tag += "<ul>";
for(var i=0;i<tagArray.length;i++){
tag += "<a href=\"/label?label="+tagArray[i]+"\"><li>" + tagArray[i] + "</li></a>";
}
tag += "</ul>";
$(".tag").html(tag);


public Page<News> getAllNewsHaveLabel(int page, int size ,String label){
Pageable pageable = new PageRequest(page, size,new Sort(Sort.Direction.DESC,"id"));
Specification<News> spec = new Specification<News>() {
public Predicate toPredicate(Root<News> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
Predicate p = cb.like(root.get("type"),"%"+ label +"%");//root相当于sql中的from
query.where(p);//添加条件
return query.getRestriction();
}
};
return newsRepository.findAll(spec,pageable);
}


/**
* 根据标签找新闻
* @param map
* @param label 标签
* @return
*/
@RequestMapping(value = "/label",method = RequestMethod.GET)
public String toLabel(ModelMap map,String label) {
Page<News> newsPage = newsService.getAllNewsHaveLabel(0,20,label);
PreviewDeal previewDeal = new PreviewDeal();//预览图文工具
List<News> newsList = previewDeal.Deal(newsPage.getContent());//设置预览图文
map.addAttribute("News",newsList);
int totalPages = newsPage.getTotalPages()-1;
map.addAttribute("totalPages",totalPages);
map.addAttribute("label",label);
return "label";
}

/**
* 加载更多新闻,带标签
* @param pageNum 新闻页,即下一页
* @return
*/
@RequestMapping(value = "/loadmorelabel")
@ResponseBody
public List<News> loadmore(@RequestParam(value = "pageNum",required = false) String pageNum,
@RequestParam(value = "label",required = false) String label){
int pageNumber = Integer.parseInt(pageNum);
Page<News> newsPage = newsService.getAllNewsHaveLabel(pageNumber,20,label);
PreviewDeal previewDeal = new PreviewDeal();//预览图文工具
List<News> newsList = previewDeal.Deal(newsPage.getContent());//设置预览图文
return newsList;
}


其实和之前写的都差不多,label.html和index.html也是差不多的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: