点击按钮收藏
分析
后台代码
RouteServlet类:
/** * 添加收藏 * @param request * @param response * @throws ServletException * @throws IOException */ public void addFavorite(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //1、获取线路rid String rid = request.getParameter("rid"); //2、获取当前登录的用户 User user = (User) request.getSession().getAttribute("user"); int uid; if (user == null){ //用户未登录 return; }else { //用户已经登录 uid = user.getUid(); } //3、调用service添加 favoriteService.add(rid,uid); }
FavoriteService接口:
/** * 添加收藏 * @param rid * @param uid */ void add(String rid, int uid);
FavoriteServiceImpl实现类:
@Override public void add(String rid, int uid) { favoriteDao.add(Integer.parseInt(rid),uid); }
FavoriteDao接口:
void add(int rid, int uid);
FavoriteDaoImpl实现类:
@Override public void add(int rid, int uid) { String sql = "insert into tab_favorite values (?,?,?)"; template.update(sql,rid,new Date(),uid); }
前台代码
route_detail.html页面:
//点击收藏按钮触发方法 function addFavorite() { var rid = getParameter("rid"); $.get("user/findOne",{},function (user) { if (user){ //用户登录了 //添加功能 $.get("route/addFavorite",{rid:rid},function () { }) }else { //用户没有登录 alert("您尚未登陆,请登录"); location.href = "http://localhost/travel/login.html"; } }); }
前台效果优化
route_detail.html页面:
$(function () { //发送请求,判断用户是否收藏过该线路 var rid = getParameter("rid"); $.get("route/isFavorite",{rid:rid},function (flag) { if (flag){ //用户已经收藏过了 //设置收藏按钮的样式 //<a class="btn already" disabled="disabled"> $("#favorite").addClass("already") $("#favorite").attr("disabled","disabled"); //删除按钮的点击事件 $("#favorite").removeAttr("onclick"); }else { //用户没有收藏 } }); }); //点击收藏按钮触发方法 function addFavorite() { var rid = getParameter("rid"); $.get("user/findOne",{},function (user) { if (user){ //用户登录了 //添加功能 $.get("route/addFavorite",{rid:rid},function () { //代码刷新页面 location.reload(); }) }else { //用户没有登录 alert("您尚未登陆,请登录"); location.href = "http://localhost/travel/login.html"; } }); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)