说明:
本篇博客以代码展示为主,具体功能实现的详细步骤请返回目录阅读其他章节内容;
本篇博客展示的代码与其他章节所展示的代码略有不同,在前面章节的基础上增加了一些CSS样式。
JSP+SQL体育信息发布平台;SSM前端前端框架 : layui数据可视化框架 : echarts后端IOC容器 : SpringMVC框架 : SpringMVC缓存技术:Redis数据库:Mysql日志框架 : Log4j安全框架 : Shiro
代码已经上传github,下载地址:https://github.com/21503882/news
前台系统功能划分
前台系统主要包括用户浏览模块、评论模块、搜索模块。前台系统模块如图3-1。
前台系统模块图
后台系统功能划分
后台系统可分为用户管理模块、添加体育信息内容模块、体育信息内容管理模块、评论管理模块、体育信息类别管理模块。后台系统如图。
后台系统模块
前台主页面
新闻详情
用户评论
管理员登录
添加新闻
管理新闻
管理评论
类别管理
用户管理
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import com.crm.biz.MailFlowBiz;
import com.crm.info.HrEmployee;
import com.crm.info.MailFlow;
import com.crm.info.ParamSysparam;
import com.crm.tools.Scopes;
import com.crm.tools.WebTools;
import com.crm.vobj.PageInfo;
import com.opensymphony.xwork2.ActionSupport;
@Scope("prototype")
@Controller("mailFlowAction")
public class MailFlowAction extends ActionSupport {
private MailFlowBiz mailFlowBiz;
public void setMailFlowBiz(MailFlowBiz mailFlowBiz) {
this.mailFlowBiz = mailFlowBiz;
}
public String execute() {
return SUCCESS;
}
private String emps;
public String getEmps() {
return emps;
}
public void setEmps(String emps) {
this.emps = emps;
}
private MailFlow mailflow;
private int index;//页码
public void setIndex(int index) {
this.index = index;
}
public MailFlow getMailflow() {
return mailflow;
}
public void setMailflow(MailFlow mailflow) {
this.mailflow = mailflow;
}
public String ajaxSendMail(){
int[] mailIdEs = mailFlowBiz.addMail(mailflow,emps);
if (mailIdEs!=null) {
WebTools.mailIdes=mailIdEs;
Scopes.getRequestMap().put("data", "success");
}else{
Scopes.getRequestMap().put("data", "failed");
}
return "ajax";
}
public String ajaxLoadNewMail(){
PageInfo info=new PageInfo(8, index);
List<MailFlow> mailFlows=mailFlowBiz.loadNewMail(info);
Map<String, Object> jobj=new HashMap<String, Object>();
jobj.put("pi", info);
WebTools.jsonClearMailFlows(mailFlows);
jobj.put("fs", mailFlows);
String data=WebTools.convertJson(jobj);
Scopes.getRequestMap().put("data", data);
return "ajax";
}
public String ajaxLoadNewCount(){
Scopes.getRequestMap().put("data", mailFlowBiz.getNewMail());
return "ajax";
}
public String ajaxLoadAllMail(){
PageInfo info=new PageInfo(8, index);
List<MailFlow> mailFlows=mailFlowBiz.loadAllMail(info);
Map<String, Object> jobj=new HashMap<String, Object>();
jobj.put("pi", info);
WebTools.jsonClearMailFlows(mailFlows);
jobj.put("fs", mailFlows);
String data=WebTools.convertJson(jobj);
Scopes.getRequestMap().put("data", data);
return "ajax";
}
public String ajaxLoadSendMail(){
PageInfo info=new PageInfo(8, index);
List<MailFlow> mailFlows=mailFlowBiz.loadSendMail(info);
Map<String, Object> jobj=new HashMap<String, Object>();
jobj.put("pi", info);
WebTools.jsonClearMailFlows(mailFlows);
jobj.put("fs", mailFlows);
String data=WebTools.convertJson(jobj);
Scopes.getRequestMap().put("data", data);
return "ajax";
}
public String ajaxLoadStarMail(){
PageInfo info=new PageInfo(8, index);
List<MailFlow> mailFlows=mailFlowBiz.loadStarMail(info);
Map<String, Object> jobj=new HashMap<String, Object>();
jobj.put("pi", info);
WebTools.jsonClearMailFlows(mailFlows);
jobj.put("fs", mailFlows);
String data=WebTools.convertJson(jobj);
Scopes.getRequestMap().put("data", data);
return "ajax";
}
public String ajaxLoadTrashMail(){
PageInfo info=new PageInfo(8, index);
List<MailFlow> mailFlows=mailFlowBiz.loadTrashMail(info);
Map<String, Object> jobj=new HashMap<String, Object>();
jobj.put("pi", info);
WebTools.jsonClearMailFlows(mailFlows);
jobj.put("fs", mailFlows);
String data=WebTools.convertJson(jobj);
Scopes.getRequestMap().put("data", data);
return "ajax";
}
private int id;
public void setId(int id) {
this.id = id;
}
public String ajaxLoadOneById(){
MailFlow mailFlow=mailFlowBiz.findOne(id);
mailFlowBiz.setIsView(id);
int currentemp=((HrEmployee)Scopes.getSessionMap().get("emp")).getId();
ParamSysparam p=new ParamSysparam();
p.setId(currentemp);
mailFlow.setParamSysparamByReciveTypeId(p);
WebTools.clearEmployee(mailFlow.getHrEmployeeByReceiveId());
WebTools.clearEmployee(mailFlow.getHrEmployeeBySenderId());
if (mailFlow.getParamSysparamByImportant()!=null) {
WebTools.clearSysParams(mailFlow.getParamSysparamByImportant());
}
if (mailFlow.getParamSysparamByReciveTypeId()!=null) {
WebTools.clearSysParams(mailFlow.getParamSysparamByReciveTypeId());
}
String data=WebTools.convertJson(mailFlow);
Scopes.getRequestMap().put("data", data);
return "ajax";
}
private String searchname;
public void setSearchname(String searchname) {
this.searchname = searchname;
}
public String ajaxSearchMailByName() throws UnsupportedEncodingException{
searchname=new String(searchname.getBytes("iso-8859-1"),"UTF-8");
PageInfo info=new PageInfo(8, index);
List<MailFlow> flows = mailFlowBiz.findBymailTitle(searchname,info);
Map<String, Object> jobj=new HashMap<String, Object>();
jobj.put("pi", info);
WebTools.jsonClearMailFlows(flows);
jobj.put("fs", flows);
String data=WebTools.convertJson(jobj);
Scopes.getRequestMap().put("data", data);
return "ajax";
}
public String del(){
mailFlowBiz.delFalse(id);
return "del";
}
public String delete(){
mailFlowBiz.delete(id);
return "del";
}
public String setStar(){
String data="";
if (mailFlowBiz.setStar(id)) {
data="success";
}else{
data="failed";
}
Scopes.getRequestMap().put("data", data);
return "ajax";
}
}
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html>
<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->
<!--[if IE 9]> <html lang="en" class="ie9"> <![endif]-->
<!--[if !IE]><!-->
<html lang="cn">
<!--<![endif]-->
<!-- BEGIN HEAD -->
<head>
<meta charset="utf-8" />
<title>index.jsp</title>
<meta content="width=device-width, initial-scale=1.0" name="viewport" />
<meta content="" name="description" />
<meta content="" name="author" />
<jsp:include page="media/ui_css.jsp"></jsp:include><link rel="shortcut icon" href="media/image/favicon.ico" />
<script type="text/javascript">
function showtime() {
var today, hour, second, minute, year, month, date;
var strDate;
today = new Date();
var n_day = today.getDay();
switch (n_day) {
case 0:
strDate = "星期日";
break;
case 1:
strDate = "星期一";
break;
case 2:
strDate = "星期二";
break;
case 3:
strDate = "星期三";
break;
case 4:
strDate = "星期四";
break;
case 5:
strDate = "星期五";
break;
case 6:
strDate = "星期六";
break;
case 7:
strDate = "星期日";
break;
}
year = today.getFullYear();
month = today.getMonth() + 1;
date = today.getDate();
hour = today.getHours();
minute = today.getMinutes();
second = today.getSeconds();
if (month < 10)
month = "0" + month;
if (date < 10)
date = "0" + date;
if (hour < 10)
hour = "0" + hour;
if (minute < 10)
minute = "0" + minute;
if (second < 10)
second = "0" + second;
document.getElementById('time').innerHTML = year + " 年 " + month
+ " 月 " + date + " 日 " + strDate + " " + hour + ":" + minute
+ ":" + second; //显示时间
setTimeout("showtime();", 1000); //设定函数自动执行时间为 1000 ms(1 s)
}
</script>
</head>
<!-- END HEAD -->
<!-- BEGIN BODY -->
<body class="page-header-fixed">
<jsp:include page="main_pages/top.jsp"></jsp:include>
<!-- BEGIN 容器 -->
<div class="page-container row-fluid">
<jsp:include page="main_pages/left.jsp"></jsp:include>
<!-- BEGIN 开始页面 -->
<div class="page-content">
<!-- ---------------------------------------------- -->
<!-- BEGIN 页面容器-->
<div class="container-fluid">
<!-- BEGIN 页面标题-->
<div class="row-fluid">
<div class="span12">
<!-- BEGIN 风格定制 -->
<jsp:include page="/main_pages/styleset.jsp"></jsp:include>
<!-- END 风格定制 -->
<!-- BEGIN 网页的标题和面包屑-->
<h3 class="page-title">
我的桌面 <small>我的办公信息导航页</small>
</h3>
<ul class="breadcrumb">
<li>
<i class="icon-home"></i>
<a href="#">我的桌面</a>
<i class="icon-angle-right"></i>
</li>
</ul>
<!-- END 网页的标题和面包屑-->
</div>
</div>
<!-- END 页面标题-->
<!-- BEGIN 网页内容-->
<div class="tiles">
<div class="tile double-down bg-blue">
<div class="tile-body"><i class="icon-bell"></i></div>
<div class="tile-object">
<div class="name">我的便签</div>
<div class="number">6</div>
</div>
</div>
<div class="tile bg-green">
<div class="tile-body"><i class="icon-calendar"></i></div>
<div class="tile-object">
<div class="name">我的日程</div>
<div class="number">12</div>
</div>
</div>
<div class="tile double bg-blue">
<div class="corner"></div>
<div class="check"></div>
<div class="tile-body">
<h4>support@metronic.com</h4>
<p>Re: Project Update!</p>
<p>24 may 2017 12.30PM the project plan update meeting...</p>
</div>
<div class="tile-object">
<div class="name"> <i class="icon-envelope"></i> </div>
<div class="number"> 14 </div>
</div>
</div>
<div class="tile bg-red">
<div class="corner"></div>
<div class="tile-body">
<i class="icon-user"></i>
</div>
<div class="tile-object">
<div class="name">我的联系人</div>
<div class="number">452</div>
</div>
</div>
<div class="tile double bg-purple">
<div class="corner"></div>
<div class="tile-body">
<i class="icon-folder-close"></i>
</div>
<div class="tile-object">
<div class="name">我的合同</div>
<div class="number">43</div>
</div>
</div>
<div class="tile bg-yellow">
<div class="tile-body"><i class="icon-user-md"></i></div>
<div class="tile-object">
<div class="name">我的客户</div>
<div class="number">121</div>
</div>
</div>
<div class="tile image">
<div class="tile-body">
<img src="media/image/image2.jpg" alt="">
</div>
<div class="tile-object">
<div class="name">我的跟进</div>
<div class="number">12</div>
</div>
</div>
<div class="tile bg-green">
<div class="tile-body">
<i class="icon-comments-alt"></i>
</div>
<div class="tile-object">
<div class="name">我签名的发票</div>
<div class="number">12
</div>
</div>
</div>
<div class="tile double bg-grey">
<div class="tile-body">
<img src="media/image/photo2.jpg" alt="" class="pull-right" style="height:114px;width: 258px;">
</div>
<div class="tile-object">
<div class="name">
<i class="icon-twitter"></i>
</div>
<div class="number"><span id="time"></span></div>
</div>
</div>
<div class="tile bg-blue">
<div class="tile-body">
<i class="icon-edit"></i>
</div>
<div class="tile-object">
<div class="name">我的订单</div>
<div class="number">12</div>
</div>
</div>
<div class="tile bg-green">
<div class="tile-body">
<i class="icon-bar-chart"></i>
</div>
<div class="tile-object">
<div class="name">我的收款</div>
<div class="number">3</div>
</div>
</div>
<div class="tile bg-purple" url="pages_public/public_new.jsp">
<div class="tile-body">
<i class="icon-briefcase"></i>
</div>
<div class="tile-object">
<div class="name">公司新闻</div>
<div class="number">11</div>
</div>
</div>
<div class="tile image double">
<div class="tile-body">
<img src="media/image/image4.jpg" alt="">
</div>
<div class="tile-object">
<div class="name">公司聊天室</div>
<div class="number">222</div>
</div>
</div>
<div class="tile bg-purple">
<div class="tile-body"><i class="icon-plane"></i></div>
<div class="tile-object">
<div class="name">公司公告</div>
<div class="number">34</div>
</div>
</div>
<div class="tile bg-yellow">
<div class="corner"></div>
<div class="check"></div>
<div class="tile-body">
<i class="icon-cogs"></i>
</div>
<div class="tile-object">
<div class="name">我的设置</div>
</div>
</div>
<div class="tile bg-red">
<div class="corner"></div>
<div class="check"></div>
<div class="tile-body">
<i class="icon-lock"></i>
</div>
<div class="tile-object">
<div class="name">锁屏</div>
</div>
</div>
</div>
<br>
<!-- END 网页内容-->
</div>
<!-- END 页面容器-->
<!-- --------------------------------------------------------- -->
</div>
<!-- END 页面 -->
</div>
<!-- END 容器 -->
<jsp:include page="main_pages/foot.jsp"></jsp:include>
<jsp:include page="media/ui_js.jsp"></jsp:include>
<script src="media/js/app.js"></script>
<script>
jQuery(document).ready(function() {
App.init();
showtime();
$('.tile').click(function(){
var url=$(this).attr('url');
location.href=url;
});
});
</script>
<!-- END JAVASCRIPTS -->
</body>
代码已经上传github,下载地址:https://github.com/21503882/news
<!-- END BODY -->
</html>