Compare commits

...

26 Commits

Author SHA1 Message Date
p4fmevgyr f17b613e9b mapper文件
2 years ago
p4fmevgyr 36a9e65f79 后端controller部分
2 years ago
p4fmevgyr 4fa6203ef9 css前端部分
2 years ago
p4fmevgyr 4086f9d458 admin模板部分
2 years ago
pzkue6pt2 b65420a415 第12组项目代码
2 years ago
pzkue6pt2 914159fc04 Delete 'src/main/resources/static/admin/js/.jsplogin'
2 years ago
pzkue6pt2 a3ebddb019 第12组项目代码
2 years ago
pzkue6pt2 f1ed90aa10 第12组项目代码
2 years ago
pzkue6pt2 9374ecf726 第12组项目代码
2 years ago
pzkue6pt2 2fda730972 第12组项目代码
2 years ago
pzkue6pt2 02af8fc01c Delete 'src/main/resources/static/admin/js/adminEmail.jsp'
2 years ago
pzkue6pt2 a2fe5bf7bc Delete 'src/test/java/com/forum/adminEmail.jsp'
2 years ago
pzkue6pt2 e541827314 第十二组项目代码adminEmail.jsp
2 years ago
pzkue6pt2 c9ac63f7b9 添加adminEmail.jsp
2 years ago
pzkue6pt2 bc89b261d7 Delete 'src/test/java/com/admin'
2 years ago
pzkue6pt2 2c9fed236e 添加一个admin包
2 years ago
pvr7eh5nm 2b76373e1b css设计
2 years ago
pkratnch4 ac2c42e4c1 Update CommentDao.xml
2 years ago
pkratnch4 f20f6b6166 ADD file via upload
2 years ago
pkratnch4 bb1f608e18 ADD file via upload
2 years ago
pkratnch4 e46b5ab04b ADD file via upload
2 years ago
pkratnch4 71af896289 ADD file via upload
2 years ago
pkratnch4 89f58dfe90 ADD file via upload
2 years ago
pkratnch4 f1ae4450a7 ADD file via upload
2 years ago
pkratnch4 5dce8cb59e ADD file via upload
2 years ago
pkratnch4 8c953cd34e ADD file via upload
2 years ago

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.forum.dao.CommentDao">
<resultMap id="comment" type="Comment">
<id property="id" column="cid"/>
<result property="username" column="username"/>
<result property="email" column="email"/>
<result property="content" column="content"/>
<result property="userComment" column="usercomment"/>
<result property="avatar" column="avatar"/>
<result property="createTime" column="create_time"/>
<result property="forumId" column="forum_id"/>
<association property="forum" javaType="Forum">
<id property="id" column="id"/>
</association>
</resultMap>
<delete id="delById">
delete from comment where id=#{id}
</delete>
<select id="findByForumIdAndParentCommentNull" resultMap="comment">
select c.id cid,c.username,c.email,c.content,c.avatar,
c.create_time,c.forum_id,c.parent_comment_id
from comment c, forum b
where c.forum_id = b.id and c.forum_id = #{forumId}
order by c.create_time desc
</select>
<insert id="saveComment" parameterType="Comment">
insert into comment (username,email,content,avatar,
create_time,forum_id,parent_comment_id, usercomment)
values (#{username},#{email},#{content},#{avatar},
#{createTime},#{forumId},#{parentCommentId}, #{userComment});
</insert>
<select id="findByParentCommentId" resultMap="comment">
select c.id cid, c.username, c.email, c.content, c.avatar,
c.create_time, c.forum_id, c.parent_comment_id
from comment c
where c.parent_comment_id = #{parentCommentId}
</select>
<select id="getAllComment" resultType="com.forum.entity.Comment">
select id,username,email,content,create_time from comment
</select>
</mapper>

@ -0,0 +1,202 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.forum.dao.ForumDao">
<resultMap id="forum" type="Forum">
<id property="id" column="id"/>
<result property="title" column="title"/>
<result property="content" column="content"/>
<result property="flag" column="flag"/>
<result property="views" column="views"/>
<result property="updateTime" column="update_time"/>
<result property="avatars" column="avatars"/>
<result property="commentabled" column="commentabled"/>
<result property="description" column="description"/>
<result property="createTime" column="create_time"/>
<result property="userId" column="user_id"/>
<result property="like" column="like"/>
<result property="tagIds" column="tag_ids"/>
<association property="user" javaType="User">
<id property="id" column="uid"/>
<result property="nickname" column="nickname"/>
<result property="username" column="username"/>
<result property="email" column="email"/>
<result property="avatar" column="avatar"/>
</association>
<collection property="tags" ofType="Tag">
<id property="id" column="tagid"/>
<result property="name" column="tagname"/>
</collection>
<!-- <collection property="tagsId" ofType="tagIds">-->
<!-- <result property="tag_id" column="tag_id"/>-->
<!-- </collection>-->
</resultMap>
<resultMap id="ForumAndIds" type="forum">
<id property="id" column="id"/>
<result property="title" column="title"/>
<result property="updateTime" column="update_time"/>
<!-- <collection property="tagsId" ofType="tagIds">-->
<!-- <result property="tag_id" column="tag_id"/>-->
<!-- </collection>-->
</resultMap>
<delete id="deleteForum">
delete from forum where id = #{id}
</delete>
<select id="getIndexForum" resultMap="forum"> /*主页帖子展示*/
select b.id, b.title, b.avatars,b.flag, b.views, b.create_time, b.description,b.like,
a.username, a.avatar
from forum b,user a
where a.id = b.user_id order by b.create_time desc
</select>
<select id="getForumTadIds" resultMap="forum"> /*主页帖子展示*/
select b.id, b.title, b.avatars, b.views, b.update_time, b.description,b.like,
a.username, a.avatar,
bt.tag_id
from user a,forum b
left join forum_tags bt on b.id=bt.forum_id
where a.id = b.user_id
-- order by b.update_time desc
-- 0.0.
-- 0
</select>
<select id="getAllForum" resultMap="forum"> /*后台帖子展示*/
select b.id, b.title, b.create_time, b.commentabled
from forum b order by b.create_time desc
</select>
<select id="getByTagId" resultMap="forum">
select b.id, b.title,b.flag, b.avatars, b.views, b.update_time, b.description,
t1.name tagname, t1.id tagid,
a.username, a.avatar
from forum b, user a, forum_tags tb, tag t1
where a.id = b.user_id and tb.forum_id = b.id and tb.tag_id = t1.id and t1.id = #{tagId}
order by b.update_time desc
</select>
<select id="getForum" resultMap="forum"> /*后台展示帖子*/
select b.id, b.flag, b.title, b.content,
b.tag_ids, b.avatars, b.description, b.commentabled
from forum b where b.id = #{id};
</select>
<select id="getDetailedForum" resultMap="forum"> /*帖子详情*/
select b.id, b.avatars, b.flag, b.title, b.content, b.views,
b.commentabled,b.like,a.username, a.avatar,tag.id tagid, tag.name tagname
from forum b, user a, tag tag, forum_tags tb
where b.user_id = a.id and tb.forum_id = b.id and tb.tag_id = tag.id and b.id = #{id}
</select>
<select id="getSearchForum" resultMap="forum">
<bind name="pattern" value="'%' + query + '%'"/>
select b.id, b.title, b.avatars, b.views, b.create_time, b.description,b.like,
a.username, a.avatar
from forum b, user a
where a.id = b.user_id and (b.title like #{pattern} or b.content like #{pattern})
order by b.create_time desc
</select>
<select id="searchAllForum" parameterType="Forum" resultMap="forum">
<bind name="pattern" value="'%' + title + '%'"/>
/*模糊查询*/
select b.id, b.title, b.update_time, b.published, t.id, t.name
from forum b where b.title like #{pattern}
</select>
<update id="updateForum" parameterType="Forum">
update forum set flag = #{flag} ,
title = #{title}, content = #{content}, tag_ids = #{tagIds},
avatars = #{avatars} , description = #{description} ,
commentabled = #{commentabled} ,update_time = #{updateTime} where id = #{id};
</update>
<update id="updateView">
update forum b set b.views=b.views+1 where id=#{id};
</update>
<!--useGeneratedKeys="true";使用自增主键获取主键值策略
keyProperty指定对应的主键属性也就是mybatis获取到主键值以后将这个值封装给javaBean的哪个属性
-->
<insert id="saveForum" parameterType="Forum" useGeneratedKeys="true" keyProperty="id">
insert into forum (title, content, avatars, flag,
views, commentabled, create_time, update_time, tag_ids, user_id, description)
values (#{title}, #{content}, #{avatars}, #{flag}, #{views}, #{commentabled}, #{createTime},
#{updateTime}, #{tagIds}, #{userId}, #{description});
</insert>
<insert id="saveForumAndTag" parameterType="ForumAndTag">
insert into forum_tags (tag_id, forum_id) values (#{tagId},#{forumId});
</insert>
<select id="findGroupYear" resultType="String">
select DATE_FORMAT(b.updateTime, '%Y') from forum b
</select>
<!-- 查找所有月份月份-->
<select id="findGroupMonth" resultType="String">
select DATE_FORMAT(b.update_time, '%M') from forum b order by b.update_time desc
</select>
<!-- 把所有文章下的标签id查询出来-->
<select id="findForumAndTagsByYear" resultMap="ForumAndIds">
select b.title, b.id,b.update_time,
bt.tag_id
from forum b
left join forum_tags bt on b.id=bt.forum_id
where DATE_FORMAT(b.update_time, "%Y") = #{year} order by b.update_time desc;
</select>
<!-- 按年份+月份查找-->
<select id="findByMonth" resultMap="forum">
select b.title, b.update_time, b.id, b.flag
from forum b
where DATE_FORMAT(b.update_time, "%Y%M") = #{month}
</select>
<!--最热推荐-->
<select id="findForumByRank" resultType="rankForum">
select b.title,b.id from forum b order by b.views desc limit 0,3
</select>
<!--最新推荐-->
<select id="getNewForum" resultType="rankForum">
select b.title,b.id from forum b order by b.create_time desc limit 0,3
</select>
<select id="getLike" resultType="Long">
select b.like from forum b where b.id=#{id}
</select>
<update id="addLike" >
update forum b set b.like=b.like+1 where b.id=#{id}
</update>
<select id="countView" resultType="java.lang.Integer">
select count(views) from forum
</select>
<delete id="cancelLike">
update forum b set b.like=b.like-1 where b.id=#{forumId}
</delete>
</mapper>

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.forum.dao.LinkDao">
<insert id="saveLink" parameterType="Link">
insert into link(name ,address,create_time) values (#{name},#{address},#{createTime});
</insert>
<delete id="deleteLink">
delete from link where id = #{id}
</delete>
<select id="getAllLink" resultType="Link">
select id,name,address,create_time from link
</select>
<select id="countLink" resultType="java.lang.Integer">
select count(*) from link
</select>
</mapper>

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.forum.dao.MessageDao">
<resultMap id="messages" type="message">
<id property="id" column="id"/>
<result property="content" column="content"/>
<result property="name" column="name"/>
<result property="msg_avatar" column="msg_avatar"/>
<result property="createTime" column="create_time"/>
<collection property="replies" ofType="reply">
<id property="id" column="rid"/>
<result property="content" column="con"/>
<!-- <result property="reply_name" column="reply_name"/>-->
<result property="names" column="names"/>
<result property="createTime" column="ctime"/>
<result property="avatar" column="avatar"/>
<result property="mes_id" column="mes_id"/>
</collection>
</resultMap>
<delete id="deleteById">
delete from message where id=#{id}
</delete>
<select id="findAllMessage" resultMap="messages">
select m.*,
r.id rid,
r.content con,
r.names names,
r.create_time ctime,
r.avatar,
r.mes_id
from message m left join reply r on r.mes_id=m.id
order by m.create_time desc
</select>
<select id="getIndexMessage" resultMap="messages">
select m.*
from message m
order by m.create_time desc
limit 0,6
</select>
<select id="findAll" resultType="com.forum.entity.Message">
select id,content,name, create_time from message
</select>
<insert id="saveMessage" parameterType="message">
insert into message (content,name,create_time,msg_avatar)
values (#{content},#{name},#{createTime},#{msg_avatar})
</insert>
<insert id="saveReplyMessage" parameterType="reply">
insert into reply (content,names,create_time,mes_id,avatar)
values (#{content},#{names},#{createTime},#{mes_id},#{avatar})
</insert>
</mapper>

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.forum.dao.NoticeDao">
<select id="findAllNotice" resultType="notice">
select * from notice
</select>
<select id="countNotice" resultType="java.lang.Integer">
select count(*) from notice
</select>
<insert id="addNotices" parameterType="notice">
insert into notice(content) values(#{content})
</insert>
<delete id="deleteNotice" parameterType="int">
delete from notice where id=#{id}
</delete>
</mapper>

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.forum.dao.ReplyDao">
<delete id="del">
delete from reply where id=#{id}
</delete>
<select id="findAll" resultType="com.forum.entity.Reply">
select id,content,names ,create_time from reply
</select>
</mapper>

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.forum.dao.TagDao">
<select id="getTag" resultType="Tag">
select id,name from tag where id = #{id}
</select>
<insert id="saveTag" parameterType="Tag">
insert into tag values (#{id},#{name});
</insert>
<!--两个id可能会相冲取别名即可-->
<resultMap id="tags" type="Tag">
<id property="id" column="tid"/>
<result property="name" column="name"/>
<collection property="forums" ofType="Forum">
<id property="id" column="bid"/>
<result property="title" column="title"/>
</collection>
</resultMap>
<select id="getAllTag" resultType="com.forum.entity.Tag">
select * from tag
</select>
<select id="getForumTag" resultMap="tags">
select t.id tid, t.name, b.id bid, b.title
from tag t, forum b, forum_tags bt
where t.id = bt.tag_id and b.id = bt.forum_id
</select>
<select id="getTagByName" resultType="Tag">
select * from tag where name = #{name}
</select>
<select id="getTagById" resultType="Tag">
select * from tag where id = #{id}
</select>
<select id="countTag" resultType="java.lang.Integer">
select count(*) from tag
</select>
<delete id="deleteTag">
delete from tag where id = #{id}
</delete>
<update id="updateTag" parameterType="Tag">
update tag set name = #{name} where id = #{id};
</update>
</mapper>

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.forum.dao.UserDao">
<update id="update">
update user set password=#{password} where username=#{username}
</update>
<select id="queryByUsernameAndPassword" resultType="com.forum.entity.User">
select * from user
where username = #{username} and password = #{password};
</select>
<insert id="addUser" parameterType="user">
insert into user(username,password,email,create_time,update_time,type,school,avatar)
values(#{username},#{password},#{email},#{createTime},#{updateTime},#{type},#{school},#{avatar})
</insert>
<select id="getAllUser" resultType="com.forum.entity.User">
select id,username,password,email,create_time,type from user
</select>
<delete id="deleteUser" >
delete from user where id = #{id}
</delete>
<select id="count" resultType="Integer" >
select count(*) from user where type = 0
</select>
</mapper>

@ -0,0 +1,64 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>receive.jsp</title>
<link href="css/common.css" type="text/css" rel="stylesheet">
<style type="text/css">
table{
text-align: center;
border-collapse: collapse;
}
.bgcolor{
background-color: #F08080;
}
</style>
<script type="text/javascript">
function changeColor(obj){
obj.className = "bgcolor";
}
function changeColor1(obj){
obj.className = "";
}
function confirmDelete(id){
if(window.confirm("真的删除吗really?")){
window.location.href = "/emailSys01/admin/delete?id=" + id;
}
}
</script>
</head>
<body>
<c:if test="${allEmails.size() == 0 }">
您还没有邮件可管理。
</c:if>
<c:if test="${allEmails.size() != 0 }">
<table border="1" bordercolor="PaleGreen">
<tr>
<td width="100px">收件人</td>
<td width="200px">发件人</td>
<td width="300px">主题</td>
<td width="100px">时间</td>
<td width="100px">操作</td>
</tr>
<c:forEach items="${allEmails }" var="email">
<tr onmousemove="changeColor(this)" onmouseout="changeColor1(this)">
<td>${email.email_r }</td>
<td>${email.email_s }</td>
<td>${email.title }</td>
<td>${email.sendtime }</td>
<td><a href="javaScript:confirmDelete('${email.id_email }')">删除</a></td>
</tr>
</c:forEach>
</table>
</c:if>
</body>
</html>

@ -0,0 +1,72 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>receive.jsp</title>
<link href="css/common.css" type="text/css" rel="stylesheet">
<style type="text/css">
table{
text-align: center;
border-collapse: collapse;
}
.bgcolor{
background-color: #F08080;
}
</style>
<script type="text/javascript">
function changeColor(obj){
obj.className = "bgcolor";
}
function changeColor1(obj){
obj.className = "";
}
function confirmLock(id){
if(window.confirm("真的锁定吗really?")){
window.location.href = "/emailSys01/admin/lock?id=" + id;
}
}
function confirmUnlock(id){
if(window.confirm("真的解锁吗really?")){
window.location.href = "/emailSys01/admin/unLock?id=" + id;
}
}
</script>
</head>
<body>
<c:if test="${allUsers.size() == 0 }">
您还没有用户可管理。
</c:if>
<c:if test="${allUsers.size() != 0 }">
<table border="1" bordercolor="PaleGreen">
<tr>
<td width="100px">用户ID</td>
<td width="200px">用户Email</td>
<td width="100px">操作</td>
</tr>
<c:forEach items="${allUsers }" var="u">
<tr onmousemove="changeColor(this)" onmouseout="changeColor1(this)">
<td>${u.id }</td>
<td>${u.bemail }</td>
<td>
<c:if test="${u.islock == 0 }">
<a href="javaScript:confirmLock('${u.id }')">锁定</a>
</c:if>
<c:if test="${u.islock == 1 }">
<a href="javaScript:confirmUnlock('${u.id }')">解锁</a>
</c:if>
</td>
</tr>
</c:forEach>
</table>
</c:if>
</body>
</html>

@ -0,0 +1,71 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>后台登录</title>
<style type="text/css">
table{
text-align: center;
}
.textSize{
width: 120px;
height: 25px;
}
* {
margin: 0px;
padding: 0px;
}
body {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
margin: 10px 10px auto;
background-image: url(images/bb.jpg);
}
</style>
<script type="text/javascript">
//确定按钮
function gogo(){
document.forms[0].submit();
}
//取消按钮
function cancel(){
document.forms[0].action = "";
}
</script>
</head>
<body>
<form:form action="admin/login" modelAttribute="auser" method="post">
<table>
<tr>
<td colspan="2"><img src="images/login.gif"></td>
</tr>
<tr>
<td>姓名:</td>
<td>
<form:input path="aname" cssClass="textSize"/>
</td>
</tr>
<tr>
<td>密码:</td>
<td>
<form:password path="apwd" cssClass="textSize" maxlength="20"/>
</td>
</tr>
<tr>
<td colspan="2">
<input type="image" src="images/ok.gif" onclick="gogo()" >
<input type="image" src="images/cancel.gif" onclick="cancel()" >
</td>
</tr>
</table>
</form:form>
${msg }
</body>
</html>

@ -0,0 +1,127 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<base href="<%=basePath%>">
<title>后台主页面</title>
<style type="text/css">
* {
margin: 0px;
padding: 0px;
}
body {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
margin: 0px auto;
height: auto;
width: 800px;
border: 1px solid #006633;
}
#header {
height: 90px;
width: 800px;
background-image: url(images/bb.jpg);
margin: 0px 0px 3px 0px;
}
#header h1 {
text-align: center;
font-family: 华文彩云;
color: #000000;
font-size: 30px
}
#navigator {
height: 25px;
width: 800px;
font-size: 14px;
background-image: url(images/bb.jpg);
}
#navigator ul {
list-style-type: none;
}
#navigator li {
float: left;
position: relative;
}
#navigator li a {
color: #000000;
text-decoration: none;
padding-top: 4px;
display: block;
width: 98px;
height: 22px;
text-align: center;
background-color: PaleGreen;
margin-left: 2px;
}
#navigator li a:hover {
background-color: #006633;
color: #FFFFFF;
}
#navigator ul li ul {
visibility: hidden;
position: absolute;
}
#navigator ul li:hover ul,
#navigator ul a:hover ul{
visibility: visible;
}
#content {
height: auto;
width: 780px;
padding: 10px;
}
#content iframe {
height: 300px;
width: 780px;
}
#footer {
height: 30px;
width: 780px;
line-height: 2em;
text-align: center;
background-color: PaleGreen;
padding: 10px;
}
</style>
</head>
<body>
<div id="header">
<br>
<br>
<h1>欢迎${auser.aname}进入后台管理系统!</h1>
</div>
<div id="navigator">
<ul>
<li><a>邮件管理</a>
<ul>
<li><a href="admin/selectEmail" target="center">删除邮件</a></li>
</ul>
</li>
<li><a>用户管理</a>
<ul>
<li><a href="admin/selectUser" target="center">解锁用户</a></li>
</ul>
</li>
</ul>
</div>
<div id="content">
<iframe src="admin/selectEmail" name="center" frameborder="0"></iframe>
</div>
<div id="footer">Copyright ©清华大学出版社</div>
</body>
</html>

@ -131,11 +131,17 @@
transform: translate3d(-10px, 0, 0); transform: translate3d(-10px, 0, 0);
} }
20%, 40%, 60%, 80% { 20%, 40%, 60%, 80% {
transform: translate3d(10px, 0, 0); transform: translate3d(10px, 0, 0);
} }
} }
.shake { .shake {
animation-name: shake; animation-name: shake;
} }
@ -149,6 +155,8 @@
transform: translateX(-6px) rotateY(-9deg); transform: translateX(-6px) rotateY(-9deg);
} }
18.5% { 18.5% {
transform: translateX(5px) rotateY(7deg); transform: translateX(5px) rotateY(7deg);
} }

Loading…
Cancel
Save