“MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第二篇(数据库结构、登录窗口、以及主界面)
一、在上一篇文章中,主要说的就是把主框架搭建起来,并且Nhibernate能达到增删改查的地步。测试好之后再来看这篇文章,我的主框架相对来说简答一点,重点还是实现系统的功能,以及对Jquery-EasyUI的使用。先把数据库的结构展示出来,记得是ORM思想,先写Model类和*.hbm.xml,再生成数据库,我这边已经写完,所以直接给大家看看数据库的结构吧!

分别介绍一下各个表的意思:
Users:用户表。News:新闻表。UserModules:模块表(与权限表UserLimits是一对多的关系)。UserLimits:权限表。UserPriviliges:是Users表与UserLimits表之间产生的第三个表,它俩之间是多对多的关系。HomeImages:图片专题表(发表完之后,前台显示图片的功能!下面的这个截图!)

二、表建完之后,就可以直接做系统的功能了,思路就按照我当初做系统的思路来吧,先写后台再写前台,后台的功能实现了,前台说白了只是一个展示数据的地方。所以我第一步当然是写“布局页”,所谓的母板页,MVC中houtai文件夹下Shared下,添加_houtai.cshtml,但是在此之前最好建立一个Areas(原因是:有个前台和后台两个大的模块),看看下面的截图:

三、要实现下面截图的功能,主要是对Jquery-EasyUI的功能要熟悉。

四、大体结构是用的“easyui-layout”布局,上下左右这种格式。
1、 左边的菜单栏是用的Jquery-EasyUI的“Accordion”。
(1)、在咱们的博客园里,菜单项很少使用According的,大部分使用的是那个Tree,第一前面可以有icon图标,第二、树形结构可以有多级菜单。我这个就比较简单了。
(2)、我的According前面也可以有图标,文字前面放的就是一个<img />标签,不过确实也挺好看的。呵呵。。
2、中间部分用的Tabs页,Content里加入Iframe标签。
3、直接上代码吧...
第一部分:引入JS包括:Jquery-EasyUI的,还有自己定义的"houtai.js",后面用到的时候会讲到。
<link href="@Url.Content("~/Content/houtai.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/jquery-easyui-1.3./jquery-1.8..min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.cookie.js")" type="text/javascript"></script>
<script src="@Url.Content("~/jquery-easyui-1.3./jquery.easyui.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/jquery-easyui-1.3./locale/easyui-lang-zh_CN.js")" type="text/javascript"></script>
<!--themesTX是方便以后“更换主题”功能来做的!记得<link />里得放一个id="easyuiTheme",以后写Jquery就可以从Cookie中取值,这样比较容易取到!-->
@{var themesTX = "pepper-grinder";}
<link id="easyuiTheme" href="@Url.Content("~/jquery-easyui-1.3./themes/" + themesTX + "/easyui.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/ChangeTheme.js")" type="text/javascript"></script>
<link href="@Url.Content("~/jquery-easyui-1.3./themes/icon.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/houtai.js")" type="text/javascript"></script>
<script src="@Url.Content("~/ckeditor/ckeditor.js")" type="text/javascript"></script>
<script src="@Url.Content("~/ckfinder/ckfinder.js")" type="text/javascript"></script>
houtai.js
第二部分:body里的"north“部分,记得放一个@RenderBody(),布局页必须得有一个,以后做登录功能的时候就是嵌套到它里面的。
<div>@RenderBody()</div>
<div region="north" title="" split="true" style="height:100px;">
<div class="easyui-layout" data-options="fit:true" style="background:#e8d1d1;">
<div id="top" data-options="region:'center'" style="background-color:#bebee5;text-align:center;font-size:20px;font-weight:bolder;color:Blue;padding-top:20px;">信息发布网站后台管理系统
<p style="color:#e86161;font-size:13px;">Author:田鑫(使用MVC+NHibernate+Jquery-EasyUI框架)</p>
</div>
<div data-options="region:'east',split:true"style="width:500px;background-color:#bebee5;">
<div style="float: right; padding-right:30px; font-size: 14px; padding-top: 30px; ">
<b id="currentTime"></b> @Html.ActionLink("退出系统", "Index", "Home", new { area = "houtai" }, new { style = "color:#ec3030" })
<br />
<a href="javascript:void(0)" id="mb" iconCls="icon-edit">更换主题</a>
</div>
</div> </div>
</div>
第三部分:body里的"West",最主要的菜单项。那个<img />中的Icon自己在网上下载吧,好多素材。记得有个id="bodyColor",是刚进入登录页面的时候,没有登录进来的时候这块“菜单内容和Tabs内容”是不能展示出来的,用Jquery进行了隐藏,下面会有Jquery代码的讲解。
<div region="west" class="menu_top" href="" split="true" title="菜单栏" style="width:150px;" id="bodyColor" >
<div id="accordionId" class="easyui-accordion" data-options="fit:true,border:false">
<div title="我的首页" id="MenuID" iconcls="icon-CategorizeMenu" data-options="selected:true" style="padding: 10px;
overflow: auto;">
<p><img width="18px;" height="18px;" src="../../../../ICON/basket_edit.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/Permission">访问统计</a></p> </div>
<div title="系统管理" id="MenuID" iconcls="icon-edit" style="padding: 10px;">
<p><img width="18px;" height="18px;" src="../../../../ICON/group.png" />
<a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">用户管理</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/transmit_go.png" />
<a href="javascript:void(0)" src="/houtai/Privilige/LimitManage">权限管理</a></p>
@*<a href="javascript:void(0)" src="/houtai/Privilige/ZTreeList">权限管理</a></p>*@
<p><img width="18px;" height="18px;" src="../../../../ICON/wrench.png" />
<a href="javascript:void(0)" src="/houtai/Privilige/ModuleManage">模块管理</a></p>
</div>
<div title="导航管理" id="MenuID" iconcls="icon-plugin_big" style="padding: 10px">
<p><img width="18px;" height="18px;" src="../../../../ICON/chart_curve.png" />
<a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">网站导航</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/comments_add.png" />
<a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">相关链接</a></p>
</div>
<div title="公文发布" id="MenuID" iconcls="icon-group" style="padding: 10px">
<p><img width="18px;" height="18px;" src="../../../../ICON/key.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">公告设置</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/lock_break.png" /> <a href="javascript:void(0)" src="/houtai/Home/ImageManege">首页图片专题</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/layers.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">重要通知</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/lightning.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">执业注册</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/lightbulb_off.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">政策法规</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/package_green.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">继续教育</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/paintcan.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">考试考务</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/palette.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">图书信息</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/style.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">考前培训</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/script_code.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">订书通知</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/text_uppercase.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">其他</a></p>
</div>
<div title="主任信箱" id="MenuID" iconcls="icon-ok" style="padding: 10px">
<p><img width="18px;" height="18px;" src="../../../../ICON/email_edit.png" />
<a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">主任信箱</a></p>
</div>
<div title="相关知识" id="MenuID" iconcls="icon-edit" style="padding: 10px">
<p><img width="18px;" height="18px;" src="../../../../ICON/world.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">执业师执业范围</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/table_relationship.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">执业师权利义务</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/ipod.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">执业师法律责任</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/color_wheel.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">执业师注册条件</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/paintcan.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">继续教育标准</a></p>
</div>
<div title="执业师分类导航" id="MenuID" iconcls="icon-TableDrawTable" style="padding: 10px">
<p><img width="18px;" height="18px;" src="../../../../ICON/package_green.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">常见问题答疑</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/basket_remove.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">注册申报流程</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/flag_blue.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">注册条件及所需材料</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/folder_image.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">报考指南</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/palette.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">服务承诺</a></p>
</div>
<div title="组织机构" id="MenuID" iconcls="icon-tip" style="padding: 10px">
<p><img width="18px;" height="18px;" src="../../../../ICON/basket_edit.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">领导小组</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/flag_orange.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">中心领导</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/basket_edit.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">中心综合科</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/film.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">教育考试科</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/keyboard.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">注册管理科</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/chart_bar_error.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">建造管理科</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/flag_green.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">图书发行部</a></p>
<p><img width="18px;" height="18px;" src="../../../../ICON/tux.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">各市主管部门</a></p>
</div>
<div title="登录管理" id="MenuID" iconcls="icon-ShowCustomPropertiesPage" style="padding: 10px">
<p><img width="18px;" height="18px;" src="../../../../ICON/zoom_in.png" /> <a href="javascript:void(0)" src="/houtai/Privilige/UserManeger">密码修改</a></p>
</div>
</div>
</div>
主页面布局
第四部分:Tabs内容,也就是中间那部分,展示数据的地方。默认放了一个<iframe>标签。以后id=tabWork的地方都会加入iframe,是在Jquery中写的。id="bodyColor1"这部分刚进入登录页面的时候最好也得是隐藏的。
<div region="center" fit="true" title="系统管理" style="overflow:hidden;" id="bodyColor1" >
<div id="tabWork" fit="true" border="false">
<div title="首页" id="HomeIndex">
<iframe id="frmWorkArea2" width="100%" height="100%" frameborder="0" scrolling="yes" src="/qiantai/Home/Index"></iframe>
</div>
</div>
</div>
第五部分:最底层,放一些版权的信息,公司的地址,等等。
<div region="south" href="" title="" style="overflow:hidden;height:40px;">
<center>版权所有:田鑫 Email:tianxinbest@163.com<br />Copyright(C) All Rights Reserved</center>
</div>
第六部分:还记得截图中的右键Tabs页,出现好几种“关闭“的选项吗?没错就是下面的代码!它也是个DIV。他的JS部分,稍后增加。。。
<div id="mm" class="easyui-menu" style="width:150px;">
<div title="refresh" data-options="iconCls:'icon-reload'">刷新</div>
<div class="menu-sep"></div>
<div title="close" data-options="iconCls:'icon-Delete'">关闭</div>
<div title="closeOther" data-options="iconCls:'icon-Delete'">关闭其他</div>
<div title="closeAll" data-options="iconCls:'icon-Delete'">关闭所有</div>
</div>
第七部分:还记得更换主题的时候下拉框里很多种可选择的主题吗?他也是个DIV,其中有个ChangeName()方法,也在JS中(他就是选择一个主题之后,进行Cookie的保存,然后把<head>中的.css样式换成你选择的,前面在css定义的<link id="easyuiTheme" href="@Url.Content("~/jquery-easyui-1.3.2/themes/" + themesTX + "/easyui.css")" rel="stylesheet" type="text/css" />为什么用id,你应该明白了吧!!
)。
<div id="ThemeMenu" style="width:150px;">
<div onclick="ChangeName('black');" data-options="iconCls:'icon-redo'" title="black">黑色</div>
<div onclick="ChangeName('bootstrap');" data-options="iconCls:'icon-TableDrawTable'" title="bootstrap">淡白色</div>
<div class="menu-sep"></div>
<div onclick="ChangeName('default');" data-options="iconCls:'icon-ShowCustomPropertiesPage'" title="default">浅蓝色</div>
<div onclick="ChangeName('gray');" data-options="iconCls:'icon-CategorizeMenu'" title="gray">灰色</div>
<div onclick="ChangeName('metro');" data-options="iconCls:'icon-directory'" title="metro">metro</div>
<div class="menu-sep"></div>
<div onclick="ChangeName('pepper-grinder');" data-options="iconCls:'icon-sum'" title="pepper-grinder">金属色</div>
</div>
第八部分:记得前面说到的,除了引入的Css和JS那些内容,其他的都在”Body“里。下面说说在<head>中的JS
<script type="text/javascript">
$(function () {
//刚进入页面,菜单项和Tabs内容是隐藏的
$("#bodyColor").css("display", "none");
$("#bodyColor1").css("display", "none");
$("#tabWork").tabs({
fit: true,
border: false,
onContextMenu: function (e, title) {
e.preventDefault();
$("#mm").menu('show', {
left: e.pageX,
top: e.pageY
}).data('tabTitle', title);
}
});
//点击菜单项链接进行添加Tabs
TabsAdd();
//右键菜单出现多种“关闭”选项
CloseFunc();
//对主题进行menu
$("#mb").menubutton({
menu: "#ThemeMenu"
});
}); </script>
第九部分:houtai.js代码,包括:右键关闭、更换主题、点击菜单项链接添加Tabs。
//------------------------Author:田鑫-----------------------------------------//
//右键刷新方法
function refreshTab(title) {
var tab = $("#tabWork").tabs("getTab", title);
$("#tabWork").tabs("update", { tab: tab, options: tab.panel("options") });
}
//点击链接的时候创建Iframe
function TabsAdd() {
//点击<a>标签链接的时候,右侧添加Tabs,Tabs里是个Iframe。
$("#accordionId p a").click(function () {
//获得链接文字,目的显示在Tabs的Title上
var titile = $(this).text();
//创建IFrame
var strHtml = '<iframe frameborder="0" width="90%" height="90%" src="' + $(this).attr("src") + '"></iframe > ';
//获取到文字前“图片”
var iconUrl=$(this).siblings("img").attr("src");
var iconimg=iconUrl.substring(, iconUrl.length-);
//图片格式为“icon-****”,在jquery-easyui-1.3.2--->themes--->icon.css进行添加自己的图片,一般为.png格式
var iconcssimg='icon-'+iconimg;
//先判断是否已经加载过 tab页签
var isExist = $('#tabWork').tabs('exists', titile);
if (!isExist) {
//将主框架的 iframe跳转到菜单指向的地址
$('#tabWork').tabs('add', {
title: titile,
content: strHtml,
iconCls: iconcssimg,
closable: true,
fit: true,
border:"false",
tools: [{ iconCls: "icon-mini-refresh", handler: function () { refreshTab(titile) } }]
});
} else {
//如果存在获取焦点
$('#tabWork').tabs('select', titile);
}
});
} //------------------------田鑫:右键菜单关闭Tabs-----------------------------------------//
function CloseFunc() {
$("#mm").menu({
onClick: function (item) {
var curTabTitle = $(this).data('tabTitle');
var type = $(item.target).attr('title'); if (type === 'refresh') {
$("#tabWork").tabs('getTab', curTabTitle).panel('refresh');
return;
} if (type === 'close') {
var t = $("#tabWork").tabs('getTab', curTabTitle);
if (t.panel('options').closable) {
$("#tabWork").tabs('close', curTabTitle);
}
return;
} var allTabs = $("#tabWork").tabs('tabs');
var closeTabsTitle = []; $.each(allTabs, function () {
var opt = $(this).panel('options');
if (opt.closable && opt.title != curTabTitle && type === 'closeOther') {
closeTabsTitle.push(opt.title);
} else if (opt.closable && type === 'closeAll') {
closeTabsTitle.push(opt.title);
}
}); for (var i = ; i < closeTabsTitle.length; i++) {
$("#tabWork").tabs('close', closeTabsTitle[i]);
}
}
});
} //TX:更换主题
//步骤:1、加入Jquery.Cookie,2、Theme的CSS中加入ID 3、写方法 ChangeName(themeName) 4、前台调用
function ChangeName(themeName) {/* 更换主题 */
var $easyuiTheme = $('#easyuiTheme');
var url = $easyuiTheme.attr('href');
var href = url.substring(, ) + "themes/" + themeName + "/easyui.css";
$easyuiTheme.attr('href', href);
var $iframe = $('iframe');
if ($iframe.length > ) {
for ( var i = ; i < $iframe.length; i++) {
var ifr = $iframe[i];
$(ifr).contents().find('#easyuiTheme1').attr('href', href);
}
}
$.cookie('easyuiThemeName', themeName, {
expires :
});
};
if ($.cookie('easyuiThemeName')) {
ChangeName($.cookie('easyuiThemeName'));
}
主题更换、Tabs加载
五、今天还想把登录窗口的功能给说一下了,但是时间的关系,留在下一篇吧,这篇的内容也够多的,朋友们也得搭建一段时间。如果对您还有帮助的话,关注我吧,也给我一些动力继续写下去,顺便点击右下角的”推荐“,让更多的朋友了解和学习。如果有问题,请留言。。。
“MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第二篇(数据库结构、登录窗口、以及主界面)的更多相关文章
- “MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第二篇(数据库结构、登录窗口、以及主界面)
“MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第二篇(数据库结构.登录窗口.以及主界面) 一.在上一篇文章中,主要说的就是把主框架搭建起来,并且Nhibernate能达到增 ...
- “MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第一篇
一.第一篇内容中必须得简单的介绍一下MVC(在大学时用的是WebForm,拖控件感觉很爽,但是工作后,技术总监让一定要放弃这种 想法!) 1.MVC是什么?:(1) ASP.NET MVC是微软官方提 ...
- MVC+Nhibernate+jquery+easyui递归实现多级菜单
1.新建访问的控制器动作返回视图,在视图中使用easyui的treegrid插件来得到后台得到的json数据显示多级菜单 public ActionResult Menu() { return Vie ...
- 完成一个MVC+Nhibernate+Jquery-EasyUI信息发布系统
一.最近学习了Jquery-EasyUI框架,结合之前用过的MVC3+Nhibernate做一个信息发布系统,对工作一年半的自己做一个总结吧!(也正好 供初学者学习!) 二.先上截图(系统简介),让大 ...
- “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第六篇(图片新闻的添加以及带分页的静态页的生成)
“MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第六篇(图片新闻的添加以及带分页的静态页的生成) 一.这篇文章主要是要实现:图片新闻的添加,无刷新图片的上传,以及添加新闻静 ...
- “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第四篇(用户管理功能的实现)
“MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第四篇(用户管理功能的实现) 一.前三篇的内容是否对您有帮助呢?如果有的话,请您继续关注这篇吧,这篇主要是实现”用户管理“的 ...
- 年底小回顾(MVC+NHibernate+Jquery+JqueryUI——网站)
1.附:利用MVC+NHibernate+Jquery+JqueryUI这些技术可以做出一个比较好的前台+后台网站.下面是本人对这些技术的笔记,作为私人年底小结吧.呵呵 好久没写文章了,感觉下不了笔吐 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(2)-数据库访问层的设计Demo
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(2)-数据库访问层的设计Demo ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1)框架搭建 前言:这 ...
- “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第三篇(登录窗口的实现以及如何保存登录者的信息)
一.前言: 1.再看这篇文章的时候,您是否已经完成前两篇介绍的文章里的功能了?(Tabs页的添加,Tabs页右键的关闭,主题的更换) 2.今天来说说登录窗口吧,看截图: ...
随机推荐
- EasyNVR H5无插件摄像机直播解决方案前端解析之:videojs的使用
video.js的基本使用方法 一.videojs的初始化加载 videojs初始化加载分为两中 1.标签式加载 在引入videojs加载文件的前提下,可以在video标签中添加属性值"da ...
- 九度OJ 1038:Sum of Factorials(阶乘的和) (DP、递归)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1845 解决:780 题目描述: John von Neumann, b. Dec. 28, 1903, d. Feb. 8, 1957, ...
- WePY根据环境变量来改变运行时的参数
WePY根据环境变量来改变运行时的参数 · Tencent/wepy Wiki https://github.com/Tencent/wepy/wiki/WePY%E6%A0%B9%E6%8D%AE% ...
- Linux RabbitMQ的安装、环境配置、远程访问 , Windows 下安装的RabbitMQ远程访问
Linux RabbitMQ的安装和环境配置 1.安装 RabbitMQ是使用Erlang语言编写的,所以安装RabbitMQ之前,先要安装Erlang环境 #对原来的yum官方源做个备份 1.mv ...
- 【转载】基于注解的SpringMVC简单介绍
SpringMVC是一个基于DispatcherServlet的MVC框架,每一个请求最先访问的都是DispatcherServlet,DispatcherServlet负责转发每一个Request请 ...
- 剑指Offer:对称的二叉树【28】
剑指Offer:对称的二叉树[28] 题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的.注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的. 题目分析 Java题解 /* publi ...
- Swift 烧脑体操(一) - Optional 的嵌套
前言 Swift 其实比 Objective-C 复杂很多,相对于出生于上世纪 80 年代的 Objective-C 来说,Swift 融入了大量新特性.这也使得我们学习掌握这门语言变得相对来说更加困 ...
- Android Weekly Notes Issue #321
Android Weekly Issue #321 August 5th, 2018. Android Weekly Issue #321 本期内容包括: 开源项目Plaid的改版; 使用Tensor ...
- C++中输出 位宽和小数点后位数 的控制
要用到这个头文件: <iomanip> setw(x) : 表示控制输出x的位宽 setprecision(x) :表示 控制输出小数点后 x 位 cout.precision(x): 表 ...
- BZOJ 1612 [Usaco2008 Jan]Cow Contest奶牛的比赛:floyd传递闭包
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1612 题意: 有n头牛比赛. 告诉你m组(a,b),表示牛a成绩比牛b高. 保证排名没有并 ...