工程目录

一、说明
- 此实验基于实验9-1
- 途中红线部分为增加或修改部分
- 此实验将页面中99%的Scriplet代码换为了使用JSTL实现
二、JSTL的配置
1、下载JSTL文件,本站地址:
2、下载 jakarta-taglibs-standard-1.1.2.zip 包并解压,将 jakarta-taglibs-standard-1.1.2/lib/ 下的两个 jar 文件:standard.jar 和 jstl.jar 文件拷贝到 本项目的 WebContent /WEB-INF/lib/ 下
3、将 jakarta-taglibs-standard-1.1.2/tld 下的需要的 tld 文件(我们只用到c.tld,只需要复制这个文件就可以了)复制到 WEB-INF 目录下
三、代码
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.text.SimpleDateFormat"%>
<%@ page import="witersen.vo.*"%>
<%@ page import="witersen.factory.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
request.setCharacterEncoding("UTF-8");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>首页</title>
<script type="text/javascript">
function edit(object) {
//获取值
var newsid = object.parentNode.parentNode.children[0]
.getAttribute("id");
var news_title = object.parentNode.parentNode.children[1].textContent;
var news_content = object.parentNode.parentNode.children[2].textContent;
//显示到页面
document.getElementById("news_title").setAttribute("value", news_title);
document.getElementById("news_content").setAttribute("value",
news_content);
document.getElementById("newsid").setAttribute("value", newsid);
//移除不可点击属性
document.getElementById("news_edit").removeAttribute("disabled");
}
//删除新闻
function del(roleid,newsid,userid,authorid){
location.replace("DelNews?roleid=" + roleid+"&newsid="+newsid+"&userid="+userid+"&authorid="+authorid);
}
//通过审核新闻
function VerifyNews(roleid,newsid){
location.replace("VerifyNews?roleid=" + roleid+"&newsid="+newsid);
}
</script>
</head>
<body>
<div style="text-align: center;">
当前角色:${sessionScope.rolename} 当前用户:${sessionScope.username} <a
href="logout">退出登录</a>
</div>
<form action="UpdateNews" method="post">
<table id="edit_news" style="margin: 0 auto;">
<tr>
<td><input id="news_title" name="news_title" type="text"
placeholder="输入新闻标题"></input></td>
<td><input id="news_content" name="news_content" type="text"
placeholder="输入新闻内容"></input></td>
<td><input id="newsid" name="newsid" type="hidden"></input></td>
<td><input id="roleid" name="roleid" type="hidden"
value="${sessionScope.roleid}"></input></td>
<td><input id="news_edit" type="submit" value="确认修改"
disabled="disabled"></input></td> ${requestScope.update_news_result}
</tr>
</table>
</form>
<form action="AddNews" method="post">
<table style="margin: 0 auto;">
<tr>
<td><input name="news_title" type="text" placeholder="输入新闻标题"></input></td>
<td><input name="news_content" type="text" placeholder="输入新闻内容"></input></td>
<td><input name="userid"
value="<%=session.getAttribute("userid")%>" type="hidden"></input></td>
<td><input type="submit" value="添加新闻"></input></td>
${requestScope.add_news_result}
</tr>
</table>
</form>
<table id="mytab" border="1" style="margin: 0 auto; width: 50%;">
<tr>
<td>序号</td>
<td>新闻标题</td>
<td>新闻内容</td>
<td>作者</td>
<td>角色</td>
<td>添加时间</td>
<td>当前状态</td>
<td>操作</td>
</tr>
<%
pageContext.setAttribute("all", NewsDAOFactory.getINewsDAOInstance().GetNewsList(""));
%>
<c:forEach items="${all}" var="news" varStatus="status">
<tr>
<td id="${news.getNewsid()}">${status.index+1}</td>
<td>${news.getNews_title()}</td>
<td>${news.getNews_content()}</td>
<td>${news.getAuthorname()}</td>
<td>${news.getRolename()}</td>
<td>${news.getSubmit_time()}</td>
<td>${news.getIs_verified()==0?"<p style=\"color:#43cf78\">已发布</p>":"<p style=\"color:#be3b3b\">待审核</p>" }</td>
<td>
<button
${sessionScope.roleid==1||news.getAuthorid()==sessionScope.userid?"":"disabled=\"disabled\""}
onclick="edit(this)">编辑</button>
<button ${sessionScope.roleid==1?"":"disabled=\"disabled\""}
onclick="VerifyNews(${sessionScope.roleid},${news.getNewsid()})">通过审核
</button>
<button
${sessionScope.roleid==1||news.getAuthorid()==sessionScope.userid?"":"disabled=\"disabled\""}
onclick="del(${sessionScope.roleid},${news.getNewsid()},${sessionScope.userid},${news.getAuthorid()})">删除
</button>
</td>
</tr>
</c:forEach>
</table>
</body>
</html>
list.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.text.SimpleDateFormat"%>
<%@ page import="witersen.vo.*"%>
<%@ page import="witersen.factory.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>首页</title>
</head>
<body>
<div style="width: 50%;">
<a href="login.jsp" style="float: right;">后台登录</a>
</div>
<table id="mytab" border="1" style="margin: 0 auto; width: 50%;">
<tr>
<td>序号</td>
<td>新闻标题</td>
<td>新闻内容</td>
<td>作者</td>
<td>角色</td>
<td>发布时间</td>
</tr>
<%
pageContext.setAttribute("all", NewsDAOFactory.getINewsDAOInstance().GetNewsList(""));
%>
<c:forEach items="${all}" var="news" varStatus="status">
<c:if test="${news.getIs_verified()!=1}">
<tr>
<td id="${news.getNewsid()}">${status.index+1}</td>
<td>${news.getNews_title()}</td>
<td>${news.getNews_content()}</td>
<td>${news.getAuthorname()}</td>
<td>${news.getRolename()}</td>
<td>${news.getSubmit_time()}</td>
</tr>
</c:if>
</c:forEach>
</table>
</body>
</html>
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<c:if test="${sessionScope.username!=null}">
<c:redirect url="index.jsp">
</c:redirect>
</c:if>
<c:forEach items="${requestScope.loginMessge}" var="iter">
${iter}
</c:forEach>
<form action=LoginCheck method="post">
用户名:<input type="text" name="username"><br /> 密码:<input
type="password" name="password"><br /> <input type="submit"
value="登录"> <input type="reset" value="重置">
</form>
</body>
</html>
原创文章,作者:witersen,如若转载,请注明出处:https://www.witersen.com