如何计算按钮的点击次数并保存在 MySql 数据库中?新会话中的点击应添加到现有值

Posted

技术标签:

【中文标题】如何计算按钮的点击次数并保存在 MySql 数据库中?新会话中的点击应添加到现有值【英文标题】:How to count number of clicks on button and save in MySql database? The clicks in a new session should be added to the existing value 【发布时间】:2015-07-13 00:20:14 【问题描述】:

这是我创建的 DAO:

public Poll updatePoll(int id)
        Session s = factory.getCurrentSession();
        Transaction t = s.beginTransaction();
    
        Poll poll = (Poll) s.get(Poll.class, id);
        Citizen citizen = (Citizen) s.get(Citizen.class, 1);
        List<Poll> list = citizen.getPolledList();
    
        boolean check = list.contains(poll);
        if(!check)
            Query q = s.createSQLQuery("update Poll set poll_count = poll_count + 1 where poll_id = id");
            q.executeUpdate();
            s.update(poll);
        else
            return poll;
        
        s.close();
        return poll;        
    

这是创建的Action

    public String submitVote()
        ServletContext ctx = ServletActionContext.getServletContext();
        ProjectDAO dao = (ProjectDAO)ctx.getAttribute("DAO");
        Poll poll = dao.updatePoll(poll_id);
    
        String flag = "error";
    
        if (poll != null)
            ServletActionContext.getRequest().getSession(true).setAttribute("POLL", poll);
            flag = "voted";
        
        return flag;
    

我知道我犯了可怕的错误,我发布的代码可能完全是垃圾。但我希望意图是明确的,因此如果可能,请向我伸出援助之手。我的项目主要是JSP(Struts 2),jQuery和mysql 5.1,所以请不要像我之前发现的那样推荐php代码。

【问题讨论】:

您的具体问题是什么? 【参考方案1】:

该框架用于包装来自用户的 servlet 内容,如果您想做类似的事情,您应该使用它的功能

ServletActionContext.getRequest().getSession(true) 

但是

Map m = ActionContext.getContext().getSession(); 

【讨论】:

以上是关于如何计算按钮的点击次数并保存在 MySql 数据库中?新会话中的点击应添加到现有值的主要内容,如果未能解决你的问题,请参考以下文章

使用 AngularJS 跟踪和计算点击次数并发布到 MongoDB

如何计算 tieh wordpress 和 google adwords 的点击次数

html如何实现点击一个按钮然后在文本框里显示按钮对应的字符?在线等!!!!!!

点击保存按钮并存储在字典中时获取表格视图单元格中的文本字段?

MySQL如何修改密码

MySQL如何修改密码