📄 news.jsp
字号:
<%@ page contentType="text/html; charset=GB2312" language="java" import="java.sql.*" errorPage="" %>
<%@ include file="Connections/ch8.jsp" %>
<%request.setCharacterEncoding("GB2312");%>
<%
String news__t1 = "0";
if (request.getParameter("items") !=null) {news__t1 = (String)request.getParameter("items");}
%>
<%
String news__t2 = "0";
if (request.getParameter("search") !=null) {news__t2 = (String)request.getParameter("search");}
%>
<%
Driver Drivernews = (Driver)Class.forName(MM_ch8_DRIVER).newInstance();
Connection Connnews = DriverManager.getConnection(MM_ch8_STRING,MM_ch8_USERNAME,MM_ch8_PASSWORD);
PreparedStatement Statementnews = Connnews.prepareStatement("SELECT * FROM Publisher where " + news__t1 + " like '%" + news__t2 + "%' ORDER BY newsdate DESC");
ResultSet news = Statementnews.executeQuery();
boolean news_isEmpty = !news.next();
boolean news_hasData = !news_isEmpty;
Object news_data;
int news_numRows = 0;
%>
<%
int Repeat1__numRows = 5;
int Repeat1__index = 0;
news_numRows += Repeat1__numRows;
%>
<%
// *** Recordset Stats, Move To Record, and Go To Record: declare stats variables
int news_first = 1;
int news_last = 1;
int news_total = -1;
if (news_isEmpty) {
news_total = news_first = news_last = 0;
}
//set the number of rows displayed on this page
if (news_numRows == 0) {
news_numRows = 1;
}
%>
<%
// *** Recordset Stats: if we don't know the record count, manually count them
if (news_total == -1) {
// count the total records by iterating through the recordset
for (news_total = 1; news.next(); news_total++);
// reset the cursor to the beginning
news.close();
news = Statementnews.executeQuery();
news_hasData = news.next();
// set the number of rows displayed on this page
if (news_numRows < 0 || news_numRows > news_total) {
news_numRows = news_total;
}
// set the first and last displayed record
news_first = Math.min(news_first, news_total);
news_last = Math.min(news_first + news_numRows - 1, news_total);
}
%>
<% String MM_paramName = ""; %>
<%
// *** Move To Record and Go To Record: declare variables
ResultSet MM_rs = news;
int MM_rsCount = news_total;
int MM_size = news_numRows;
String MM_uniqueCol = "";
MM_paramName = "";
int MM_offset = 0;
boolean MM_atTotal = false;
boolean MM_paramIsDefined = (MM_paramName.length() != 0 && request.getParameter(MM_paramName) != null);
%>
<%
// *** Move To Record: handle 'index' or 'offset' parameter
if (!MM_paramIsDefined && MM_rsCount != 0) {
//use index parameter if defined, otherwise use offset parameter
String r = request.getParameter("index");
if (r==null) r = request.getParameter("offset");
if (r!=null) MM_offset = Integer.parseInt(r);
// if we have a record count, check if we are past the end of the recordset
if (MM_rsCount != -1) {
if (MM_offset >= MM_rsCount || MM_offset == -1) { // past end or move last
if (MM_rsCount % MM_size != 0) // last page not a full repeat region
MM_offset = MM_rsCount - MM_rsCount % MM_size;
else
MM_offset = MM_rsCount - MM_size;
}
}
//move the cursor to the selected record
int i;
for (i=0; news_hasData && (i < MM_offset || MM_offset == -1); i++) {
news_hasData = MM_rs.next();
}
if (!news_hasData) MM_offset = i; // set MM_offset to the last possible record
}
%>
<%
// *** Move To Record: if we dont know the record count, check the display range
if (MM_rsCount == -1) {
// walk to the end of the display range for this page
int i;
for (i=MM_offset; news_hasData && (MM_size < 0 || i < MM_offset + MM_size); i++) {
news_hasData = MM_rs.next();
}
// if we walked off the end of the recordset, set MM_rsCount and MM_size
if (!news_hasData) {
MM_rsCount = i;
if (MM_size < 0 || MM_size > MM_rsCount) MM_size = MM_rsCount;
}
// if we walked off the end, set the offset based on page size
if (!news_hasData && !MM_paramIsDefined) {
if (MM_offset > MM_rsCount - MM_size || MM_offset == -1) { //check if past end or last
if (MM_rsCount % MM_size != 0) //last page has less records than MM_size
MM_offset = MM_rsCount - MM_rsCount % MM_size;
else
MM_offset = MM_rsCount - MM_size;
}
}
// reset the cursor to the beginning
news.close();
news = Statementnews.executeQuery();
news_hasData = news.next();
MM_rs = news;
// move the cursor to the selected record
for (i=0; news_hasData && i < MM_offset; i++) {
news_hasData = MM_rs.next();
}
}
%>
<%
// *** Move To Record: update recordset stats
// set the first and last displayed record
news_first = MM_offset + 1;
news_last = MM_offset + MM_size;
if (MM_rsCount != -1) {
news_first = Math.min(news_first, MM_rsCount);
news_last = Math.min(news_last, MM_rsCount);
}
// set the boolean used by hide region to check if we are on the last record
MM_atTotal = (MM_rsCount != -1 && MM_offset + MM_size >= MM_rsCount);
%>
<%
// *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters
String MM_keepBoth,MM_keepURL="",MM_keepForm="",MM_keepNone="";
String[] MM_removeList = { "index", MM_paramName };
// create the MM_keepURL string
if (request.getQueryString() != null) {
MM_keepURL = '&' + request.getQueryString();
for (int i=0; i < MM_removeList.length && MM_removeList[i].length() != 0; i++) {
int start = MM_keepURL.indexOf(MM_removeList[i]) - 1;
if (start >= 0 && MM_keepURL.charAt(start) == '&' &&
MM_keepURL.charAt(start + MM_removeList[i].length() + 1) == '=') {
int stop = MM_keepURL.indexOf('&', start + 1);
if (stop == -1) stop = MM_keepURL.length();
MM_keepURL = MM_keepURL.substring(0,start) + MM_keepURL.substring(stop);
}
}
}
// add the Form variables to the MM_keepForm string
if (request.getParameterNames().hasMoreElements()) {
java.util.Enumeration items = request.getParameterNames();
while (items.hasMoreElements()) {
String nextItem = (String)items.nextElement();
boolean found = false;
for (int i=0; !found && i < MM_removeList.length; i++) {
if (MM_removeList[i].equals(nextItem)) found = true;
}
if (!found && MM_keepURL.indexOf('&' + nextItem + '=') == -1) {
MM_keepForm = MM_keepForm + '&' + nextItem + '=' + java.net.URLEncoder.encode(request.getParameter(nextItem));
}
}
}
String tempStr = "";
for (int i=0; i < MM_keepURL.length(); i++) {
if (MM_keepURL.charAt(i) == '<') tempStr = tempStr + "<";
else if (MM_keepURL.charAt(i) == '>') tempStr = tempStr + ">";
else if (MM_keepURL.charAt(i) == '"') tempStr = tempStr + """;
else tempStr = tempStr + MM_keepURL.charAt(i);
}
MM_keepURL = tempStr;
tempStr = "";
for (int i=0; i < MM_keepForm.length(); i++) {
if (MM_keepForm.charAt(i) == '<') tempStr = tempStr + "<";
else if (MM_keepForm.charAt(i) == '>') tempStr = tempStr + ">";
else if (MM_keepForm.charAt(i) == '"') tempStr = tempStr + """;
else tempStr = tempStr + MM_keepForm.charAt(i);
}
MM_keepForm = tempStr;
// create the Form + URL string and remove the intial '&' from each of the strings
MM_keepBoth = MM_keepURL + MM_keepForm;
if (MM_keepBoth.length() > 0) MM_keepBoth = MM_keepBoth.substring(1);
if (MM_keepURL.length() > 0) MM_keepURL = MM_keepURL.substring(1);
if (MM_keepForm.length() > 0) MM_keepForm = MM_keepForm.substring(1);
%>
<%
// *** Move To Record: set the strings for the first, last, next, and previous links
String MM_moveFirst,MM_moveLast,MM_moveNext,MM_movePrev;
{
String MM_keepMove = MM_keepBoth; // keep both Form and URL parameters for moves
String MM_moveParam = "index=";
// if the page has a repeated region, remove 'offset' from the maintained parameters
if (MM_size > 1) {
MM_moveParam = "offset=";
int start = MM_keepMove.indexOf(MM_moveParam);
if (start != -1 && (start == 0 || MM_keepMove.charAt(start-1) == '&')) {
int stop = MM_keepMove.indexOf('&', start);
if (start == 0 && stop != -1) stop++;
if (stop == -1) stop = MM_keepMove.length();
if (start > 0) start--;
MM_keepMove = MM_keepMove.substring(0,start) + MM_keepMove.substring(stop);
}
}
// set the strings for the move to links
StringBuffer urlStr = new StringBuffer(request.getRequestURI()).append('?').append(MM_keepMove);
if (MM_keepMove.length() > 0) urlStr.append('&');
urlStr.append(MM_moveParam);
MM_moveFirst = urlStr + "0";
MM_moveLast = urlStr + "-1";
MM_moveNext = urlStr + Integer.toString(MM_offset+MM_size);
MM_movePrev = urlStr + Integer.toString(Math.max(MM_offset-MM_size,0));
}
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%!
public String DoDateTime(java.lang.Object aObject,int nNamedFormat,java.util.Locale aLocale) throws Exception{
if ((aObject != null) && (aObject instanceof java.util.Date)){
if (aLocale!=null){
java.text.DateFormat df = java.text.DateFormat.getDateInstance(nNamedFormat,aLocale);
return df.format(aObject);
}
else{
java.text.DateFormat df = java.text.DateFormat.getDateInstance(nNamedFormat);
return df.format(aObject);
}
}
return "";
}
%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
<title>无标题文件</title>
<style type="text/css">
<!--
.style2 {font-size: small; color: #666666; }
.style3 {color: #808080}
.style4 {color: #999999}
.STYLE5 {color: #FF0000}
-->
</style>
</head>
<body>
<p align="left"><img src="images/title.jpg" width="640" height="120" /></p>
<div id="Layer2" class="style4" style="position:absolute; width:399px; height:22px; z-index:7; left: 19px; top: 113px;"><a href="news.htm">最新消息</a> | 研究讲义区 | 疑难杂症区 | 推荐书籍区 | 热门连接区</div>
<p><span style="position:absolute; width:104px; height:38px; z-index:6; left: 568px; top: 127px; background-image: url(images/news.jpg); layer-background-image: url(images/news.jpg); border: 1px none #000000;"><img src="images/news.jpg" alt="news" width="135" height="40" /></span></p>
<form id="form1" name="form1" method="post" action="">
按关键词查询
<select name="items" id="items">
<option value="newstitle">发布主题</option>
<option value="newscontents">发布内容</option>
</select>
<label>
<input name="search" type="text" id="search" />
</label>
<label>
<input type="submit" name="Submit" value="开始查询" />
</label>
<img src="images/p_1.gif" width="19" height="12" border="0" />
<a href="admin.jsp">发布新消息</a>
</form>
<table width="730" height="55" border="0">
<tr bgcolor="#FFFFCC">
<td width="28">编号</td>
<td width="105">发布日期</td>
<td width="112">发布主题</td>
<td width="169">发布内容</td>
<td width="105">备注</td>
<td width="91">发布人</td>
<td width="90">发布人email</td>
</tr>
<% while ((news_hasData)&&(Repeat1__numRows-- != 0)) { %>
<tr bgcolor="#CCCC00">
<td><%=Repeat1__index + 1%></td>
<td><%= DoDateTime((((news_data = news.getObject("newsdate"))==null || news.wasNull())?"":news_data), java.text.DateFormat.LONG, java.util.Locale.CHINA) %></td>
<td><%=(((news_data = news.getObject("newstitle"))==null || news.wasNull())?"":news_data)%></td>
<td><%=(((news_data = news.getObject("newscontents"))==null || news.wasNull())?"":news_data)%></td>
<td><%=(((news_data = news.getObject("newsmemo"))==null || news.wasNull())?"":news_data)%></td>
<td><%=(((news_data = news.getObject("chname"))==null || news.wasNull())?"":news_data)%></td>
<td><%=(((news_data = news.getObject("email"))==null || news.wasNull())?"":news_data)%></td>
</tr>
<%
Repeat1__index++;
news_hasData = news.next();
}
%>
</table>
<table width="729" border="0" align="center">
<tr>
<td width="100"> </td>
<td width="507"><div align="center" class="STYLE5">共<%=(news_total)%>条</div></td>
<td width="100"> </td>
</tr>
</table>
<p> </p>
<p> </p>
<% if (news_isEmpty ) { %>
<p align="center" class="STYLE5"> 目前数据库中尚无符合查询的数据</p>
<% } /* end news_isEmpty */ %>
<table border="0" width="50%" align="center">
<tr>
<td width="23%" align="center"><% if (MM_offset !=0) { %>
<a href="<%=MM_moveFirst%>">第一页</a>
<% } /* end MM_offset != 0 */ %>
</td>
<td width="31%" align="center"><% if (MM_offset !=0) { %>
<a href="<%=MM_movePrev%>">前一页</a>
<% } /* end MM_offset != 0 */ %>
</td>
<td width="23%" align="center"><% if (!MM_atTotal) { %>
<a href="<%=MM_moveNext%>">下一页</a>
<% } /* end !MM_atTotal */ %>
</td>
<td width="23%" align="center"><% if (!MM_atTotal) { %>
<a href="<%=MM_moveLast%>">最后一页</a>
<% } /* end !MM_atTotal */ %>
</td>
</tr>
</table>
</body>
</html>
<%
news.close();
Statementnews.close();
Connnews.close();
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -