开源项目-投票管理系统
哈喽,大家好,今天主要给大家带来一个开源项目-投票管理系统
投票管理系统主要有首页,发起投票,管理投票,参与投票,查看投票等功能
首页
为用户提供了一键导航到各个功能模块的便捷途径。
新增投票
用户可以在此轻松创建新的投票活动,设置投票主题、选项等信息。
管理投票
管理员或投票发起人可以在此对已有的投票活动进行全面管理,包括编辑、删除、查看投票结果等操作。
参与投票
用户可以通过简单的操作,选择自己心仪的选项参与投票,表达自己的意见和看法。
查看投票
可以在此查看投票的详细结果,了解各个选项的得票情况,为后续决策提供参考。
代码示例
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; } }
以上就是系统的大致内容了,感兴趣的同学可以通过连接
下载源码~