点击按钮收藏

分析

 

 

 

后台代码

 

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";
            }
        });
    }

 

posted @ 2022-08-28 19:54  xjw12345  阅读(121)  评论(0编辑  收藏  举报