JavaWeb-旅游网-注册和登录
JavaWeb-旅游网-导航条和分页展示
JavaWeb-旅游网-详情展示
JavaWeb-旅游网-线路搜索
功能: 用户登录后,在线路详情页面中,可以点击收藏进行收藏,如果用户没有登录,则会跳转到登录页面,如果已经收藏过了就不可再收藏
加载详情页面的时候,前端会发送ajax判断该用户在该线路是否已经收藏,如果已经收藏就按钮置为不可点击的状态
$(function () {
var rid = getParameter("rid");
//判断用户是否收藏过该rid
$.get("route/isCollect",{rid:rid},function (data) {
if (data){
//如果用户已经收藏
$("#collect").addClass("already");
$("#collect").attr("disabled","disabled");
$("#collect").removeAttr("onclick");
} else {
//如果用户未收藏
}
});
});
public void isCollect(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取线路的rid和用户的uid
int rid = Integer.parseInt(request.getParameter("rid"));
User user = (User) request.getSession().getAttribute("user");
int uid ;
if(null == user){
uid = 0;
}else {
uid = user.getUid();
}
//true为收藏,false为未收藏
Boolean flag = routeService.isCollect(rid,uid);
response.setContentType("application/json;charset=utf-8");
response.getWriter().write(getJson(flag));
}
在点击收藏时,会先去判断当前用户是否登录,如登录则进行收藏,没有登录就跳转到登录页面
function Collect() {
var rid = getParameter("rid");
//先判断用户是否登录
$.get("user/findUser",{},function (data) {
if (data){
//用户登录,进行收藏
$.get("route/collect",{rid:rid},function (data) {
location.reload();
})
} else {
//用户未登录
alert("请先登录")
location.href = "login.html";
}
})
}
public void collect(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取线路的rid和用户的uid
int rid = Integer.parseInt(request.getParameter("rid"));
User user = (User) request.getSession().getAttribute("user");
int uid ;
if(null == user){
return;
}else {
uid = user.getUid();
}
routeService.collect(rid,uid);
}
当收藏成功时,页面会重新加载,即location.reload(),刷新当前的收藏次数,提升用户的体验
$.get("route/collect",{rid:rid},function (data) {
location.reload();
})