📄 managernews.java
字号:
package myshop.news_sys;
import myshop.*;
import java.sql.*;
import java.util.*;
import java.util.Date;
import javax.servlet.http.*;
public class ManagerNews {
Handle handle;
DBconn dbconn;
Config config;
private String systemURL;
private String systemFolder;
public ManagerNews() throws Exception {
dbconn = new DBconn();
handle = new Handle();
config = new Config();
systemURL = config.systemURL;
systemFolder = config.systemFolder;
}
//--- 列表显示新闻栏目 --
public String ListNewsType(String tb_news_type) throws Exception {
String SqlStr,title,HtmlOptionStr = "";
int id;
ResultSet rs;
try {
SqlStr = "SELECT * FROM " + tb_news_type + " ORDER BY id DESC";
rs = dbconn.ExeQuery(SqlStr);
while (rs.next()) {
id = rs.getInt("id");
title = rs.getString("title");
HtmlOptionStr += "<option value=" + id + ">" + title + "</option>\n";
}
dbconn.CloseConn();
}
catch (SQLException ex) {
System.err.println("aq.executeQuery:"+ex.getMessage());
}
return (HtmlOptionStr);
}
//--- 列表显示新闻,并选中已经选择的标题 --
public String ListNewsType(String tb_news_type,String type_id) throws Exception {
String SqlStr,title,HtmlOptionStr = "";
String id;
ResultSet rs;
try {
SqlStr = "SELECT * FROM " + tb_news_type + " ORDER BY id DESC";
rs = dbconn.ExeQuery(SqlStr);
while (rs.next()) {
id = rs.getString("id");
title = rs.getString("title");
if (type_id.equals(id)) HtmlOptionStr += "<option value=" + id + " selected>" + title + "</option>\n";
else HtmlOptionStr += "<option value=" + id + ">" + title + "</option>\n";
}
dbconn.CloseConn();
}
catch (SQLException ex) {
System.err.println("aq.executeQuery:"+ex.getMessage());
}
return (HtmlOptionStr);
}
//--- 添加新闻 ---
public void AddNews(String tb_news_info,String tb_news_imgs,String UploadFolder2,HttpServletRequest request,HttpSession session) throws Exception {
String topic = handle.GBK2ISO(request.getParameter("topic"));
String content = handle.GBK2ISO(request.getParameter("content"));
String keywords = handle.GBK2ISO(request.getParameter("keywords"));
String source = handle.GBK2ISO(request.getParameter("source"));
int paginationInt = handle.getInt(request,"pagination");
int type_id = handle.getInt(request,"type_id");
int content_type = handle.getInt(request,"content_type");
String paginationStr;
if (paginationInt == 0) {
if (session.getAttribute("paginationStr") == null) paginationStr = "";
else {
paginationStr = (String)session.getAttribute("paginationStr");
session.removeAttribute("paginationStr");
}
}
else {
if (session.getAttribute("paginationStr") == null) {
long MisTime=(new Date()).getTime();
paginationStr = MisTime + "";
session.setAttribute("paginationStr",paginationStr);
}
else paginationStr = (String)session.getAttribute("paginationStr");
}
String original_content = content;
content = DealWithContent(request,session,content,UploadFolder2); //先对content进行处理和转换
String SqlStr = "INSERT INTO " + tb_news_info + "(topic,original_content,content,content_type,keywords,source,type_id,pagination,date_time) VALUES('" + topic + "','" + original_content + "','" + content + "'," + content_type + ",'" + keywords + "','" + source + "'," + type_id + ",'" + paginationStr + "',sysdate())";
dbconn.ExeUpdate(SqlStr);
AddImgsInfo(tb_news_info,tb_news_imgs,request,session); //如果有上传图片就插入相关信息到数据库
/*/--- 生成html新闻页面 ---
String HtmlContent;
String date_time;
String pathStr,pathStr2;
ResultSet rs;
int id;
try {
SqlStr = "SELECT * FROM " + tb_news_info + " ORDER BY id DESC";
rs = dbconn.ExeQuery(SqlStr);
rs.next();
id = rs.getInt("id");
date_time = rs.getString("date_time");
pathStr = handle.Convert2Path(id,date_time);
pathStr2 = "../" + handle.Split("/",pathStr)[0];
pathStr = "../" + pathStr;
HtmlContent = handle.ReadUrl(systemURL + systemFolder + "admin/news_sys/DetailNews.jsp?Nid=" + id);
HtmlContent = handle.Replace("images/","../news_sys/images/",HtmlContent); //替换更正图片路径
handle.MkDir(request,pathStr2);
handle.WriteFile(request,pathStr,HtmlContent);
}
catch (SQLException ex) {
System.err.println("aq.executeQuery:"+ex.getMessage());
}
*/
dbconn.CloseConn();
}
//--- 对content内容进行处理转换 ---
public String DealWithContent(HttpServletRequest request,HttpSession session,String content,String UploadFolder2) {
Vector VImgsName;
int content_type = handle.getInt(request,"content_type");
if (content_type == 0) content = handle.ConvertChar(content);
if (session.getAttribute("ImgsName") != null) {
VImgsName = (Vector)session.getAttribute("ImgsName");
for (int i=0; i<VImgsName.size(); i++) {
String img_name = (String)VImgsName.elementAt(i);
content = handle.Replace("<left>[" + img_name + "]</left>","<img src=" + UploadFolder2 + "/" + img_name + " align=left border=0>",content);
content = handle.Replace("<right>[" + img_name + "]</right>","<img src=" + UploadFolder2 + "/" + img_name + " align=right border=0>",content);
content = handle.Replace("[" + img_name + "]","<img src=" + UploadFolder2 + "/" + img_name + " border=0>",content);
}
}
return(content);
}
//--- 删除新闻 ---
public void DelNews(HttpServletRequest request,String tb_news_info,String tb_news_imgs,String UploadFolder2) throws Exception {
ResultSet rs;
String date_time,SqlStr="";
int Nid = handle.getInt(request,"Nid");
try {
SqlStr = "SELECT * FROM " + tb_news_imgs + " WHERE info_id=" + Nid;
rs = dbconn.ExeQuery(SqlStr);
while (rs.next()) handle.Del(request,UploadFolder2 + "\\" + rs.getString("img_name"));
SqlStr = "SELECT * FROM " + tb_news_info + " WHERE id=" + Nid;
rs = dbconn.ExeQuery(SqlStr);
rs.next();
date_time = rs.getString("date_time");
handle.Del(request,"../" + handle.Convert2Path(rs.getInt("id"),date_time));
}
catch (SQLException ex) {
System.err.println("aq.executeQuery:"+ex.getMessage());
}
SqlStr = "DELETE FROM " + tb_news_info + " WHERE id = " + Nid;
dbconn.ExeUpdate(SqlStr);
SqlStr = "DELETE FROM " + tb_news_imgs + " WHERE info_id=" + Nid;
dbconn.ExeUpdate(SqlStr);
dbconn.CloseConn();
}
public void DelNews(HttpServletRequest request,String tb_news_info,String tb_news_imgs,String UploadFolder2,int Nid) throws Exception {
ResultSet rs;
String SqlStr="",date_time;
try {
SqlStr = "SELECT * FROM " + tb_news_imgs + " WHERE info_id=" + Nid;
rs = dbconn.ExeQuery(SqlStr);
while (rs.next()) handle.Del(request,UploadFolder2 + "\\" + rs.getString("img_name"));
SqlStr = "SELECT * FROM " + tb_news_info + " WHERE id=" + Nid;
rs = dbconn.ExeQuery(SqlStr);
rs.next();
date_time = rs.getString("date_time");
handle.Del(request,"../" + handle.Convert2Path(rs.getInt("id"),date_time));
}
catch (SQLException ex) {
System.err.println("aq.executeQuery:"+ex.getMessage());
}
SqlStr = "DELETE FROM " + tb_news_imgs + " WHERE info_id=" + Nid;
dbconn.ExeUpdate(SqlStr);
SqlStr = "DELETE FROM " + tb_news_info + " WHERE id = " + Nid;
dbconn.ExeUpdate(SqlStr);
dbconn.CloseConn();
}
//--- 修改新闻 ---
public void ModNews(String tb_news_info,String tb_news_imgs,HttpServletRequest request,HttpSession session,String UploadFolder2) throws Exception {
String topic = handle.GBK2ISO(request.getParameter("topic"));
String content = handle.GBK2ISO(request.getParameter("content"));
String keywords = handle.GBK2ISO(request.getParameter("keywords"));
String source = handle.GBK2ISO(request.getParameter("source"));
int Nid = handle.getInt(request,"Nid");
int type_id = handle.getInt(request,"type_id");
int content_type = handle.getInt(request,"content_type");
//--- 先检查该新闻是否有图片,如果有就创建一个session ---
if (CheckImg(tb_news_imgs,Nid) != null) session.setAttribute("ImgsName",CheckImg(tb_news_imgs,Nid));
String original_content = content;
content = DealWithContent(request,session,content,UploadFolder2); //先对content进行处理和转换
String SqlStr = "UPDATE " + tb_news_info + " SET topic='" + topic + "',original_content='" + original_content + "',content='" + content + "',keywords='" + keywords + "',source='" + source + "',type_id=" + type_id + ",content_type=" + content_type + " WHERE id=" + Nid;
dbconn.ExeUpdate(SqlStr);
AddImgsInfo(tb_news_info,tb_news_imgs,request,session);
dbconn.CloseConn();
/*/--- 生成html新闻页面 ---
String HtmlContent;
String date_time="";
String pathStr,pathStr2;
ResultSet rs;
try {
SqlStr = "SELECT * FROM " + tb_news_info + " WHERE id=" + Nid;
rs = dbconn.ExeQuery(SqlStr);
if (rs.next()) date_time = rs.getString("date_time");
pathStr = handle.Convert2Path(Nid,date_time);
pathStr2 = "../" + handle.Split("/",pathStr)[0];
pathStr = "../" + pathStr;
HtmlContent = handle.ReadUrl(systemURL + systemFolder + "admin/news_sys/DetailNews.jsp?Nid=" + Nid);
HtmlContent = handle.Replace("images/","../news_sys/images/",HtmlContent); //替换更正图片路径
handle.MkDir(request,pathStr2);
handle.WriteFile(request,pathStr,HtmlContent);
}
catch (SQLException ex) {
System.err.println("aq.executeQuery:"+ex.getMessage());
}
*/
}
//--- 检查某条新闻是否有图片 ---
public Vector CheckImg(String tb_news_imgs,int Nid) throws Exception {
Vector VImgsName = new Vector();
String SqlStr;
ResultSet rs;
try {
SqlStr = "SELECT * FROM " + tb_news_imgs + " WHERE info_id=" + Nid;
rs = dbconn.ExeQuery(SqlStr);
while (rs.next()) VImgsName.addElement(rs.getString("img_name"));
dbconn.CloseConn();
}
catch (SQLException ex) {
System.err.println("aq.executeQuery:"+ex.getMessage());
}
return(VImgsName);
}
//--- 插入图片数据 ---
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -