当前位置: 首页 > article >正文

开源项目-投票管理系统

哈喽,大家好,今天主要给大家带来一个开源项目-投票管理系统

投票管理系统主要有首页,发起投票,管理投票,参与投票,查看投票等功能

首页

为用户提供了一键导航到各个功能模块的便捷途径。

新增投票

用户可以在此轻松创建新的投票活动,设置投票主题、选项等信息。

管理投票

管理员或投票发起人可以在此对已有的投票活动进行全面管理,包括编辑、删除、查看投票结果等操作。

参与投票

用户可以通过简单的操作,选择自己心仪的选项参与投票,表达自己的意见和看法。

查看投票

可以在此查看投票的详细结果,了解各个选项的得票情况,为后续决策提供参考。

代码示例

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.springframework.http.HttpRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.View;
import org.springframework.web.servlet.view.JstlView;

import com.wantao.bean.Page;
import com.wantao.bean.Vote;
import com.wantao.bean.VoteOption;
import com.wantao.bean.VoteResult;
import com.wantao.daoImpl.VoteDaoImpl;
import com.wantao.daoImpl.VoteOptionDaoImpl;
import com.wantao.util.ChartUtil;
import com.wantao.util.PageUtil;

@Controller
public class VoteHandler {
    @RequestMapping(value = "/addVote", method = RequestMethod.POST)
    public String addVote(int channel, String voteName, String[] voteOptions) {// 只要name属性相同,前后端自动绑定
       VoteDaoImpl voteDaoImpl = new VoteDaoImpl();
       VoteOptionDaoImpl voteOptionDaoImpl = new VoteOptionDaoImpl();
       Vote vote = new Vote();// 创建投票对象
       vote.setChannelId(channel);// 设置频道id
       vote.setVoteName(voteName);// 设置投票名称
       voteDaoImpl.addVote(vote);// 执行增加投票的方法
       int voteId = voteDaoImpl.findVoteByName(voteName).getVoteId();// 获取投票id
       for (String voteoption : voteOptions) {
          VoteOption voteOption = new VoteOption();// 创建投票选择对象
          voteOption.setVoteId(voteId);
          voteOption.setVoteOptionName(voteoption);
          voteOptionDaoImpl.addVoteOption(voteOption);
       }
       return "redirect:/index.jsp";
    }

    @RequestMapping(value = "/editorVote", method = RequestMethod.GET)
    public String editorVote(HttpSession session, @RequestParam(name = "currentPage") int currentPage) {
       VoteDaoImpl voteDaoImpl = new VoteDaoImpl();
       VoteOptionDaoImpl voteOptionDaoImpl = new VoteOptionDaoImpl();
       List voteIds=new ArrayList();
       Page page=null;
       int everyPageCount = 10;// 每页记录数
       int totalCount = voteDaoImpl.findAllVoteCount();// 总记录数
       if (currentPage ==1) {//第一页创建page对象
           page = PageUtil.createPage(currentPage, everyPageCount, totalCount);
          page.setBeginIndex(currentPage);
       }else {//非第一页直接获取page对象
       page =(Page) session.getAttribute("page");
       }
       page.setCurrentPage(currentPage);
       page.setHasNextPage(PageUtil.getHasNextPage(currentPage, page.getTotalPage()));
       page.setHasPrePage(PageUtil.getHasPrePage(currentPage));
       List<Vote> votes = voteDaoImpl.findAllVote(page);
       List<VoteResult> voteResults = new ArrayList<VoteResult>();
       for (Vote vote : votes) {
          VoteResult voteResult = new VoteResult();
          List<VoteOption> voteOptions = voteOptionDaoImpl.findVoteOptionByVoteId(vote.getVoteId());
          voteResult.setVote(vote);
          voteResult.setVoteOptions(voteOptions);
          voteResults.add(voteResult);
          voteIds.add(vote.getVoteId());
       }
       session.setAttribute("voteResults", voteResults);
       session.setAttribute("page", page);
       session.setAttribute("voteIds", voteIds);
       return "editorVote";
    }

    @RequestMapping(value = "/delete")
    public String deleteVote(@RequestParam(value = "currentPage") int currentPage, @RequestParam(value = "id") int id) {
       VoteDaoImpl voteDaoImpl = new VoteDaoImpl();
       VoteOptionDaoImpl voteOptionDaoImpl = new VoteOptionDaoImpl();
       voteOptionDaoImpl.deleteVoteOption(id);
       voteDaoImpl.deleteVote(id);
       return "redirect:editorVote?currentPage="+currentPage;
    }
}
以上就是系统的大致内容了,感兴趣的同学可以通过连接 下载​​​​​​​源码~

http://www.kler.cn/a/371530.html

相关文章:

  • Linux 之 文件属性与目录、字符串处理、系统信息获取
  • 在 Elasticsearch 中顺利管理季节性时间变化
  • 基于SSM+小程序的智慧旅游平台登录管理系统(旅游2)
  • Android H5页面性能分析策略
  • 简单的Python爬虫实例
  • golang MarshalJson
  • 苹果生态的机器学习和同态加密
  • Android 玩机知识储备
  • Java国际版同城打车顺风车滴滴车跑腿系统小程序源码
  • 《 Python 与股票大盘信息的奇妙之旅》
  • 深度学习案例:带有一个隐藏层的平面数据分类
  • 等保行业如何面对新兴安全威胁
  • MFC图形函数学习04——画矩形函数
  • rabbitmq高级特性(2)TTL、死信/延迟队列、事务与消息分发
  • day03|计算机网络重难点之HTTP中常见的状态码、什么是强缓存和协商缓存
  • 在Facebook运营中使用住宅IP的重要性
  • 您知道Apple公司的大模型(AFM)吗?
  • HTML5 应用程序缓存
  • 深度学习-36-基于PyTorch的卷积神经网络LeNet
  • nrm的使用
  • 移远通信闪耀2024香港秋灯展,以丰富的Matter产品及方案推动智能家居产业发展
  • Javaee:单例模式
  • ubuntu配置xrdp
  • Robotaxi砍掉的特斯拉市值,财报又赢回来了
  • 在 Node.js 中使用 .env 文件
  • final关键字