ListClass.java
上传用户:sdtxjx
上传日期:2022-07-09
资源大小:2937k
文件大小:32k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. /***************************************************
  2.  *  
  3.  *  源文件名:  ListClass.java
  4.  *  功    能: 梦想年华新闻系统 - 新闻类别显示类
  5.  * 作者:梦想年华 [DreamTime]
  6.  * Email:fanwsp@126.com
  7.  *  QQ:122142023 
  8.  *  CopyRight(c)2005-2006 by DreamTime 
  9.  *
  10.  ****************************************************
  11. */
  12. package dreamtime.dreamnews; //指定类所在的包
  13. import java.sql.*;
  14. import dreamtime.dreamnews.Function;
  15. import dreamtime.dreamnews.DBConnection;
  16. public class ListClass
  17. {
  18.     DBConnection DBConn = new DBConnection();
  19.     Function Fun = new Function(); 
  20.     
  21.     public ListClass()
  22.     {
  23.     
  24.     } 
  25.      
  26.   
  27.   
  28.    /*********************************************************
  29. * 函数名:TopClass
  30. * 作  用:大类菜单导航
  31. * 参  数:无
  32. * 返回值:字符串
  33. ***********************************************************/
  34.     public String TopClass()
  35.     {
  36.      try
  37.      {
  38.      Connection Conn = DBConn.getConn();
  39.     Statement stmt = Conn.createStatement(1004,1007);
  40.     String sql = "select * from BigClass order by BigClassID";
  41.     ResultSet rs = stmt.executeQuery(sql);
  42.     int i = 0;
  43.     rs.last();
  44.     int iMax = rs.getRow(); 
  45.     String [][] s = new String[iMax][2];
  46.     StringBuffer sb = new StringBuffer();
  47.     if(iMax==0) sb.append("<div id="F1" align="center"><strong>暂时还没有任何大类信息!</strong></div>rn");
  48.     else
  49. {
  50.     sb.append("<table width=100% height=22 align="center" cellpadding="0" cellspacing="0">rn");
  51. sb.append("<tr>rn");
  52. sb.append("<td align="center" width="" + 100/(iMax+2) + "%" valign="bottom">");
  53. sb.append("<div id="menu"><a href="index.jsp" title="返回新闻首页">首页</a></div></td>rn");
  54. rs.first();
  55. for(i=0;i<iMax;i++)
  56. {
  57. sb.append("<td align="center" valign="bottom" width="" + 100/(iMax+2) + "%">");
  58. sb.append("<div id="menu"><a href="ReadClass.jsp?BigClassID=" + rs.getInt(1) + """);
  59. sb.append("title="" + rs.getString(3) + "">" + rs.getString(2) + "</a></div>rn");
  60. sb.append("</td>rn");
  61. rs.next();
  62. }  
  63. sb.append("<td align="center" width="" + 100/(iMax+2) + "%" valign="bottom">");
  64. sb.append("<div id="menu"><a href="Special.jsp" title="专题列表">专题</a></div></td>rn");
  65. rs.close();
  66.      stmt.close();
  67.      Conn.close();
  68.      sb.append("</tr></table>rn");
  69. }
  70. return sb.toString();
  71. }catch(Exception e)
  72.         {
  73.             //e.printStackTrace();
  74.             //System.out.print(e.getMessage()); 
  75.             return "<div id="F1" align="center"><strong>操作出错!</strong></div>";
  76.         }
  77.     }
  78.     
  79.     
  80.     
  81.     /*********************************************************
  82. * 函数名:ShowHotNews
  83. * 作  用:显示滚动新闻
  84. * 参  数:大类ID,如果为空,则表示所有大类
  85. *         b:是否专题
  86. * 返回值:字符串
  87. ***********************************************************/
  88.     public String ShowHotNews(String s0,boolean b)
  89.     {
  90.      try
  91.      {
  92.      Connection Conn = DBConn.getConn();
  93.     Statement stmt = Conn.createStatement(1004,1007);
  94.     String sql = "";
  95.     int ID = Fun.StrToInt(s0);
  96.     int iHotNum = 5;
  97. if (Fun.ReadConfig()) 
  98.     {
  99.      if(ID==0 && Fun.HotNewsNum>0) iHotNum = Fun.HotNewsNum;
  100.      else if(Fun.BHotNewsNum>0) iHotNum = Fun.BHotNewsNum;
  101.     } 
  102.     
  103.     if(ID==0) 
  104.     {
  105.      if(b) sql = "select top " + iHotNum + " * from News where IsHot='Yes' and IsHead='No' and IsImg='No' and SpecialID<>0 order by NewsID desc";
  106.      else sql = "select top " + iHotNum + " * from News where IsHot='Yes' and IsHead='No' and IsImg='No' order by NewsID desc";
  107.     }
  108.     else sql = "select top " + iHotNum + " * from News where IsHot='Yes' and IsHead='No' and IsImg='No' and BigClassID=" + ID + " order by NewsID desc";
  109.     ResultSet rs = stmt.executeQuery(sql);
  110.     StringBuffer sb = new StringBuffer();
  111.     
  112.     rs.last();
  113.     if(rs.getRow()<iHotNum) iHotNum=rs.getRow();
  114.     if(iHotNum==0) sb.append("<div id="F3">暂无快讯</div>rn");
  115.     else
  116. {
  117. sb.append("<marquee onMouseOver='this.stop()' onMouseOut='this.start()' scrolldelay=200 width="460">rn");
  118. sb.append("[快讯]&nbsp;&nbsp;");
  119. rs.first();
  120. for(int i=0;i<iHotNum;i++)
  121. {
  122. String NewsTitle = rs.getString(2);
  123. String sTitle = NewsTitle;
  124. String NewsTime = rs.getString(7);
  125. if (NewsTitle.length()>15) sTitle = NewsTitle.substring(0,15) + "..";
  126. sb.append("&nbsp;&nbsp;<img src="pic/li.gif" border=0>&nbsp;<a title="" + NewsTitle + "" href="ShowNews.jsp?NewsID=" + rs.getInt(1) + "" target=_blank>rn");
  127. sb.append(sTitle + "</a> [" + NewsTime + "]");
  128. rs.next();
  129. }  
  130. sb.append("</marquee>rn");
  131. rs.close();
  132.      stmt.close();
  133.      Conn.close();
  134. }
  135. return sb.toString();
  136. }catch(Exception e)
  137.         {
  138.             //e.printStackTrace();
  139.             //System.out.print(e.getMessage()); 
  140.             return "";
  141.         }
  142.     }
  143.     
  144.     
  145.     
  146.     /*********************************************************
  147. * 函数名:ShowHeadNews
  148. * 作  用:显示最新头条新闻
  149. * 参  数:s0:大类ID,如果为空,则表示所有大类
  150. *         b:是否专题新闻
  151. * 返回值:字符串
  152. ***********************************************************/
  153.     public String ShowHeadNews(String s0,boolean b)
  154.     {
  155.      try
  156.      {
  157.      Connection Conn = DBConn.getConn();
  158.     Statement stmt = Conn.createStatement(1004,1007);
  159.     String sql = "";
  160.     int ID = Fun.StrToInt(s0);
  161.     int iHeadNum = 2;
  162.     if (Fun.ReadConfig()) 
  163.     {
  164.      if(ID==0 && Fun.HeadNewsNum>0) iHeadNum = Fun.HeadNewsNum;
  165.      else if(Fun.BHeadNewsNum>0) iHeadNum = Fun.BHeadNewsNum;
  166.     } 
  167.     
  168.     if(ID==0) 
  169.     {
  170.      if(b) sql = "select top " + iHeadNum + " * from News where IsHead='Yes' and HeadPicture='' and IsImg='No' and IsHot='No' and SpecialID<>0 order by NewsID desc";
  171.      else sql = "select top " + iHeadNum + " * from News where IsHead='Yes' and HeadPicture='' and IsImg='No' and IsHot='No' order by NewsID desc";
  172.     }
  173.     else sql = "select top " + iHeadNum + " * from News where IsHead='Yes' and HeadPicture='' and IsImg='No' and IsHot='No' and BigClassID=" + ID + " order by NewsID desc";
  174.     ResultSet rs = stmt.executeQuery(sql);
  175.     StringBuffer sb = new StringBuffer();
  176.     rs.last();
  177.     if(rs.getRow()<iHeadNum) iHeadNum=rs.getRow();
  178.     if(iHeadNum==0) sb.append("<div id="F3"><br>&nbsp;&nbsp;暂无头条</div><br>");
  179.     else
  180. {
  181. rs.first();
  182. for(int i=0;i<iHeadNum;i++)
  183. {
  184. String NewsTitle = rs.getString(2);
  185. String sTitle = NewsTitle;
  186. String NewsInfo = rs.getString(16);
  187. if (NewsTitle.length()>20) sTitle = NewsTitle.substring(0,20) + "..";
  188. sb.append("<div id="HeadNews"><h2><a title="" + NewsTitle + "" href="ShowNews.jsp?NewsID=" + rs.getInt(1) + "" target=_blank>rn");
  189. sb.append(sTitle + "</a></h2></div>rn");
  190. sb.append("<div id="HeadNews"><div id="Content">&nbsp;&nbsp;");
  191. sb.append(NewsInfo);
  192. sb.append("</div></div>rn");
  193. sb.append("<div id="more" align="right">rn");
  194. sb.append("<a title="" + NewsInfo + "" href="ShowNews.jsp?NewsID=" + rs.getInt(1) + "" target=_blank>rn");
  195. sb.append("<img src="pic/more.gif"> 详细</a></div><div id="B1"></div>rn");
  196. if(i>1 && i!=iHeadNum) sb.append("<div id="Line"><div id="L2"></div></div>rn");
  197. rs.next();
  198. }
  199. }  
  200. rs.close();
  201.      stmt.close();
  202.      Conn.close();
  203. return sb.toString();
  204. }catch(Exception e)
  205.         {
  206.             //e.printStackTrace();
  207.             //System.out.print(sql); 
  208.             return " ";
  209.         }
  210.     }
  211.     
  212.     
  213.     
  214.     
  215.     /*********************************************************
  216. * 函数名:ShowHeadPic
  217. * 作  用:显示头条图片新闻
  218. * 参  数:大类ID,如果为空,则表示所有大类
  219. * 返回值:字符串
  220. ***********************************************************/
  221.     public String ShowHeadPic(String s0,boolean b)
  222.     {
  223.      try
  224.      {
  225.      Connection Conn = DBConn.getConn();
  226.     Statement stmt = Conn.createStatement(1004,1007);
  227.     String sql = "";
  228.     int ID = Fun.StrToInt(Fun.CheckReplace(s0));
  229.     if(ID==0) 
  230.     {
  231.      if(b) sql = "select top 1 * from News where IsHead='Yes' and HeadPicture<>'' and IsImg='No' and IsHot='No' and SpecialID<>0 order by NewsID desc";
  232.      else sql = "select top 1 * from News where IsHead='Yes' and HeadPicture<>'' and IsImg='No' and IsHot='No' order by NewsID desc";
  233.     }
  234.     else sql = "select top 1 * from News where IsHead='Yes' and HeadPicture<>'' and IsImg='No' and IsHot='No' and BigClassID=" + ID + " order by NewsID desc";
  235.     ResultSet rs = stmt.executeQuery(sql);
  236.     StringBuffer sb = new StringBuffer();
  237.     if(rs.next())
  238. {
  239. rs.first();
  240. int NewsID = rs.getInt(1);
  241. String NewsTitle = rs.getString(2);
  242. String sTitle = NewsTitle;
  243. String NewsInfo = rs.getString(16);
  244. String HeadPicture = rs.getString(12);
  245. if (NewsTitle.length()>15) sTitle = NewsTitle.substring(0,15);
  246. sb.append("<div id="pArea">rn");
  247. sb.append("<div id="Pic"><a href="ShowNews.jsp?NewsID=" + NewsID + "" target=_blank>rn");
  248. sb.append("<img alt="" + NewsTitle + "" src="" + HeadPicture + "" width="240" height="180"></a></div>rn");
  249. sb.append("<h2><a title="" + NewsTitle + ""  href="ShowNews.jsp?NewsID=" + NewsID + "" target=_blank>" + sTitle + "</a>rn");
  250. sb.append("<div id="Content">&nbsp;&nbsp;&nbsp;&nbsp;" + NewsInfo);
  251. sb.append("<div id="B1" align="right"><img alt="详细" src="pic/more.gif"> <a href="ShowNews.jsp?NewsID=" + NewsID + "" target=_blank>详细</a></div>rn");
  252. sb.append("</div></h2>rn");
  253. sb.append("</div>");
  254. sb.append("<div id="B3"></div>rn");
  255. }  
  256. rs.close();
  257.      stmt.close();
  258.      Conn.close();
  259. return sb.toString();
  260. }catch(Exception e)
  261.         {
  262.             //e.printStackTrace();
  263.             //System.out.print(e.getMessage()); 
  264.             return " ";
  265.         }
  266.     }
  267.     
  268.     
  269.     
  270.     
  271.     /*********************************************************
  272. * 函数名:ShowTopNews
  273. * 作  用:显示最新新闻
  274. * 参  数:大类ID,如果为空,则表示所有大类
  275. * 返回值:字符串
  276. ***********************************************************/
  277.     public String ShowTopNews(String s0,boolean b)
  278.     {
  279.      try
  280.      {
  281.      Connection Conn = DBConn.getConn();
  282.     Statement stmt = Conn.createStatement(1004,1007);
  283.     Statement stmt1 = Conn.createStatement(1004,1007);
  284.     ResultSet rs=null;
  285.     ResultSet rs1=null;
  286.     String sql = "";
  287.     String sql1= "";
  288.     StringBuffer sb = new StringBuffer();
  289.     int ID = Fun.StrToInt(s0);
  290.     int iTopNum = 10;
  291.     int iImgNum = 6;
  292.     int iNum = 0;
  293.     int i=0;
  294.     if (Fun.ReadConfig()) 
  295.     {
  296.      if(ID==0 && Fun.TopNewsNum>0 && Fun.TopImgNum>0) 
  297.      {
  298.      iTopNum = Fun.TopNewsNum;
  299.       iImgNum = Fun.TopImgNum;
  300.     }
  301.     else if(Fun.BTopNewsNum>0 && Fun.BTopImgNum>0) 
  302.     {
  303.     iTopNum = Fun.BTopNewsNum;
  304.       iImgNum = Fun.BTopImgNum;
  305.     }
  306.     }  
  307.     
  308.     
  309.      /*读取最新发表的图片新闻*/
  310.      if(ID==0)  
  311.      {
  312.      if(b) sql1 = "select top " + iImgNum + " * from News where SpecialID<>0 and IsImg='Yes' and NewsPicture<>'' order by NewsID desc";
  313.      else sql1 = "select top " + iImgNum + " * from News where SpecialID=0 and IsImg='Yes' and NewsPicture<>'' order by NewsID desc";
  314.      }
  315.      else sql1 = "select top " + iImgNum + " * from News where SpecialID=0 and IsImg='Yes' and NewsPicture<>'' and BigClassID=" + ID + " order by NewsID desc";
  316.      rs1 = stmt1.executeQuery(sql1);
  317.             rs1.last();
  318.             iNum = iImgNum;
  319.     if(rs1.getRow()<iNum) iNum=rs1.getRow();
  320. if(iNum>0)
  321. {
  322. sb.append("<div id="B2"></div>rn");
  323.      sb.append("<div id="Pic"><table width="450"  border="0" align="center" cellpadding="0" cellspacing="0">rn");
  324.              sb.append("<tr>rn");
  325. rs1.first();
  326. for(i=1;i<=iNum;i++)
  327. {
  328.      String NewsTitle = rs1.getString(2);
  329. String sTitle = NewsTitle;
  330. String NewsPicture = rs1.getString(8);
  331. if (NewsTitle.length()>10) sTitle = NewsTitle.substring(0,10) + "..";
  332. sb.append("<td width="150">rn");
  333.                 sb.append("<table width="150"  border="0" cellspacing="2" cellpadding="2">rn");
  334.                 sb.append("<tr><td align="center" height="80">rn");
  335. sb.append("<a href="ShowNews.jsp?NewsID=" + rs1.getInt(1) + "" target=_blank>rn");
  336. sb.append("<img src="" + NewsPicture + "" width="130" height="80" alt="" + NewsTitle + ""></a>rn");
  337. sb.append("</td></tr>rn");
  338. sb.append("<tr><td height="25">rn");
  339. sb.append("<a href="ShowNews.jsp?NewsID=" + rs1.getInt(1) + "" target=_blank>rn");
  340. sb.append(sTitle + "</td></tr>rn");
  341.                 sb.append("</table>rn");
  342.                sb.append("</td>rn");
  343.                if(i%3==0) sb.append("</tr><tr>rn");
  344.                rs1.next();
  345.      }
  346.      rs1.close();
  347.      sb.append("</tr></table></div>rn");
  348.      sb.append("<div id="Line"><div id="L2"></div></div>rn");
  349.      }
  350.     
  351.      /****************  图片新闻读取结束 ****************/
  352.     
  353.     
  354.    
  355.     /*****************  读取文本新闻 *****************/
  356.     
  357.     if(ID==0) 
  358.     {
  359.      if(b) sql = "select top " + iTopNum + " * from News where IsHot='No' and IsHead='No' and SpecialID<>0 order by NewsID desc";
  360.      else sql = "select top " + iTopNum + " * from News where IsHot='No' and IsHead='No' order by NewsID desc";
  361.     }
  362.     else sql = "select top " + iTopNum + " * from News where IsHot='No' and IsHead='No' and BigClassID=" + ID + " order by NewsID desc";
  363.     rs = stmt.executeQuery(sql);
  364.     
  365.     sb.append("<div id="News"><ul>rn");
  366.     rs.last();
  367.     if(rs.getRow()<iTopNum) iTopNum=rs.getRow();
  368.     if(iTopNum==0) sb.append("<li><div id="F3">&nbsp;&nbsp;暂无新闻</div></li>rn");
  369.     else
  370. {
  371. rs.first();
  372. for(i=1;i<=iTopNum;i++)
  373. {
  374. String NewsTitle = rs.getString(2);
  375. String sTitle = NewsTitle;
  376. String NewsTime = rs.getString(7);
  377. if (NewsTitle.length()>25) sTitle = NewsTitle.substring(0,25) + "..";
  378. if(rs.getString(13).equals("Yes")) sTitle += "(图)";
  379. sb.append("<li><img src="pic/li.gif"> <a title="" + NewsTitle + "" href="ShowNews.jsp?NewsID=" + rs.getInt(1) + "" target=_blank>rn");
  380. sb.append(sTitle + "</a><span>[" + NewsTime + "]</span></li>rn");
  381. if(i%5==0 && i>1 && i!=iTopNum) sb.append("<div id="Line"><div id="L2"></div></div>rn");
  382. rs.next();
  383. }  
  384. }
  385. sb.append("</ul></div>rn");
  386. /***************** 读取文本新闻结束*****************/
  387. stmt1.close();
  388. rs.close();
  389.      stmt.close();
  390.      Conn.close();
  391. return sb.toString();
  392. }catch(Exception e)
  393.         {
  394.             //e.printStackTrace();
  395.             //System.out.print(e.getMessage()); 
  396.             return " ";
  397.         }
  398.     }
  399.     
  400.     
  401.     
  402.    /*********************************************************
  403. * 函数名:ShowClassNews
  404. * 作  用:显示类别新闻
  405. * 参  数:大类ID,如果为空,则表示所有大类
  406. * 返回值:字符串
  407. ***********************************************************/
  408.     public String ShowClassNews(String s0)
  409.     {
  410.      try
  411.      {
  412.      Connection Conn = DBConn.getConn();
  413.     Statement stmt1 = Conn.createStatement(1004,1007);
  414.     Statement stmt2 = Conn.createStatement(1004,1007);
  415.     Statement stmt3 = Conn.createStatement(1004,1007);
  416.     ResultSet rs1 = null;
  417.     ResultSet rs2 = null;
  418.     ResultSet rs3 = null;
  419.     String sql1 = "";
  420.     String sql2 = "";
  421.     String sql3 = "";
  422.     String sLink ="ReadSClass.jsp?SClassID=";
  423.     String sStyle="<div id="stArea"><div id="sTitle2"><div id="stFont">";
  424.     StringBuffer sb = new StringBuffer();
  425.     int ID = Fun.StrToInt(Fun.CheckReplace(s0));
  426.     int iNewsNum = 10;   //新闻数
  427.     int iImgNum=3; //图片数
  428.     int i=0;
  429.     int iNum=0;
  430.     
  431.     
  432.      /************** 取得大类参数 **************/
  433.     if (Fun.ReadConfig()) 
  434.     {
  435.      if(ID==0 && Fun.ClassImgNum>0 && Fun.ClassNewsNum>0) 
  436.      {
  437.      iImgNum = Fun.ClassImgNum;
  438.      iNewsNum = Fun.ClassNewsNum;
  439.      }
  440.      else if(Fun.BClassImgNum>0 &&  Fun.BClassNewsNum>0)
  441.      {
  442.      iImgNum = Fun.BClassImgNum;
  443.      iNewsNum = Fun.BClassNewsNum;
  444.      }
  445.     
  446.     }
  447.     
  448.     
  449.     
  450.     
  451.     /************** 类别新闻读取 **************/
  452.     if(ID==0) 
  453.     {
  454.      sql1 = "select * from BigClass";
  455.      sLink = "ReadClass.jsp?BigClassID=";
  456.      sStyle = "<div id="tArea"><div id="Title2"><div id="tFont">";
  457.     }
  458.      else sql1 = "select * from SmallClass where BigClassID=" + ID;
  459.     
  460.     
  461.      rs1 = stmt1.executeQuery(sql1);
  462.      while(rs1.next())
  463.      {
  464.      /*读取类别标题*/
  465.      int ClassID = rs1.getInt(1);
  466.      sb.append(sStyle + rs1.getString(2) + "</div></div>");
  467.      sb.append("<span>");
  468. sb.append("<img src="pic/more.gif">  <a title="" + rs1.getString(3) + "" href="");
  469. sb.append(sLink + ClassID + "" target=_blank>更多..</a>");
  470.      sb.append("</span></div>rn");
  471.     
  472.      /*读取每个类别中最新发表的图片新闻*/
  473.      if(ID==0) sql2 = "select top " + iImgNum + " * from News where SpecialID=0 and IsImg='Yes' and NewsPicture<>'' and BigClassID=" + ClassID + " order by NewsID desc";
  474. else sql2 = "select top " + iImgNum + " * from News where SpecialID=0 and IsImg='Yes' and NewsPicture<>'' and SmallClassID=" + ClassID + " order by NewsID desc";
  475.       
  476.      rs2 = stmt2.executeQuery(sql2);
  477.                 rs2.last();
  478.                 iNum = iImgNum;
  479.     if(rs2.getRow()<iNum) iNum=rs2.getRow();
  480.      if(iNum>0)
  481.      {
  482.      sb.append("<div id="B2"></div>rn");
  483.      sb.append("<div id="Pic"><table width="450"  border="0" align="center" cellpadding="0" cellspacing="0">rn");
  484.              sb.append("<tr>rn");
  485.      rs2.first();
  486. for(i=1;i<=iNum;i++)
  487. {
  488.      String NewsTitle = rs2.getString(2);
  489. String sTitle = NewsTitle;
  490. String NewsPicture = rs2.getString(8);
  491. if (NewsTitle.length()>10) sTitle = NewsTitle.substring(0,10) + "..";
  492. sb.append("<td width="150">rn");
  493.                         sb.append("<table width="150"  border="0" cellspacing="2" cellpadding="2">rn");
  494.                         sb.append("<tr><td align="center" height="80">rn");
  495. sb.append("<a href="ShowNews.jsp?NewsID=" + rs2.getInt(1) + "" target=_blank>rn");
  496. sb.append("<img src="" + NewsPicture + "" width="130" height="80" alt="" + NewsTitle + ""></a>rn");
  497. sb.append("</td></tr>rn");
  498. sb.append("<tr><td height="25">rn");
  499. sb.append("<a href="ShowNews.jsp?NewsID=" + rs2.getInt(1) + "" target=_blank>rn");
  500. sb.append(sTitle + "</td></tr>rn");
  501.                         sb.append("</table>rn");
  502.                        sb.append("</td>rn");
  503.                        if(i%3==0) sb.append("</tr><tr>rn");
  504.                        rs2.next();
  505.      }
  506.      rs2.close();
  507.      sb.append("</tr></table></div>rn");
  508.      sb.append("<div id="Line"><div id="L2"></div></div>rn");
  509.      }
  510.     
  511.     
  512.      /********** 读取每个类别中最新发表的文字新闻 ********/
  513.      if(ID==0) 
  514.     {
  515.      sql3 = "select top " + iNewsNum + " * from News where SpecialID=0 and BigClassID=" + ClassID + " order by NewsID desc";
  516.     }
  517.      else 
  518.      {
  519.      sql3 = "select top " + iNewsNum + " * from News where SpecialID=0 and SmallClassID=" + ClassID + " order by NewsID desc";
  520.      }
  521.     
  522.      rs3 = stmt3.executeQuery(sql3);
  523.      sb.append("<div id="News"><ul>rn");
  524.      rs3.last();
  525.     
  526.      iNum = iNewsNum;
  527.     if(rs3.getRow()<iNewsNum) iNum=rs3.getRow();
  528.     if(iNum==0) sb.append("<li><div id="F3">暂无文字新闻</div></li>rn");
  529.     else
  530. {
  531. rs3.first();
  532. for(i=1;i<=iNum;i++)
  533. {
  534.      String NewsTitle = rs3.getString(2);
  535. String sTitle = NewsTitle;
  536. String NewsTime = rs3.getString(7);
  537. if (NewsTitle.length()>25) sTitle = NewsTitle.substring(0,25) + "..";
  538. if(rs3.getString(13).equals("Yes")) sTitle += "(图)";
  539. sb.append("<li><img src="pic/li.gif"> <a title="" + NewsTitle + "" href="ShowNews.jsp?NewsID=" + rs3.getInt(1) + "" target=_blank>rn");
  540. sb.append(sTitle + "</a><span>[" + NewsTime + "]</span></li>rn");
  541. if(i%5==0 && i>1 && i!=iNum) sb.append("<div id="Line"><div id="L2"></div></div>rn");
  542. rs3.next();
  543. }
  544. }
  545. sb.append("</ul></div>rn");
  546. rs3.close();
  547.      }
  548.      rs1.close();
  549. stmt1.close();
  550. Conn.close();
  551. return sb.toString();
  552. }catch(Exception e)
  553.         {
  554.             //e.printStackTrace();
  555.             //System.out.print(e.getMessage()); 
  556.             //System.out.print(sql1);
  557.             //System.out.print(sql2);
  558.             //System.out.print(sql3);
  559.             return " ";
  560.         }
  561.     }
  562.     
  563.     
  564.     
  565.     /*********************************************************
  566. * 函数名:ShowSClass
  567. * 作  用:显示小类所有新闻
  568. * 参  数:小类ID,页面地址,分页显示的页码
  569. * 返回值:字符串
  570. ***********************************************************/
  571.     public String ShowSClassNews(String s0,String sPage,String strPage)
  572.     {
  573.      try
  574.      {
  575.      Connection Conn = DBConn.getConn();
  576.     Statement stmt = Conn.createStatement(1004,1007);
  577.     ResultSet rs = null;
  578.     String sql = "";
  579.     String sClassTitle="没有这个类别";
  580.     StringBuffer sb = new StringBuffer();
  581.     int ID = Fun.StrToInt(s0);
  582.     int i;
  583. int intPage = 1; 
  584. int intPageSize = 10;
  585. boolean OK = true;
  586. /************** 取得新闻显示参数 **************/
  587. if (Fun.ReadConfig() && Fun.ListNewsNum>0) intPageSize = Fun.ListNewsNum;
  588.     
  589.      /*取得并输出标题信息*/
  590.      String sql1 = "select SmallClassName from SmallClass where SmallClassID=" + ID;
  591.      ResultSet rs1 = stmt.executeQuery(sql1);
  592.      if(rs1.first()) sClassTitle = rs1.getString(1);
  593.      else OK = false;
  594.      sb.append("<div id="sTitle1"><div id="stFont">");
  595.      sb.append(sClassTitle + "</div></div>rn");
  596.     
  597.     
  598.      if(OK)
  599.      {
  600.     /************** 类别新闻读取 **************/
  601.      sql= "select * from News where SpecialID=0 and SmallClassID=" + ID + " order by NewsID desc";
  602.      rs = stmt.executeQuery(sql);
  603.     
  604.      /*读取新闻,并分页显示*/
  605.      sb.append("<div id="News"><ul>rn");
  606.     
  607.      //如果表中没有任何记录,则给出提示信息
  608. if (!rs.next())
  609. sb.append("<li><div id="F3">暂无新闻</div></li>rn");
  610. OK = false;
  611. }
  612. else 
  613. {
  614. //取得待显示页码 
  615. intPage = Fun.StrToInt(strPage);
  616. sPage = Fun.CheckReplace(sPage);
  617. if (intPage==0) intPage=1;
  618. //将记录指针定位到待显示页的第一条记录上 
  619. if(!rs.absolute((intPage-1) * intPageSize+1)) rs.absolute(1);
  620. i = 1; 
  621. while(i<=intPageSize && !rs.isAfterLast())
  622. {
  623.      String NewsTitle = rs.getString(2);
  624. String sTitle = NewsTitle;
  625. String NewsTime = rs.getString(7);
  626. if (NewsTitle.length()>25) sTitle = NewsTitle.substring(0,25) + "..";
  627. if(rs.getString(13).equals("Yes")) sTitle += "(图)";
  628. sb.append("<li><img src="pic/li.gif"> <a title="" + NewsTitle + "" href="ShowNews.jsp?NewsID=" + rs.getInt(1) + "" target=_blank>");
  629. sb.append(sTitle + "</a><span>[" + NewsTime + "]</span></li>rn");
  630. if(i%5==0 && i>1) sb.append("<div id="Line"><div id="L2"></div></div>rn");
  631. rs.next();
  632. i++;
  633. }
  634. }
  635. sb.append("</ul></div>rn");
  636. if(OK) sb.append(Fun.Page(sPage,rs,intPage,intPageSize));
  637. rs.close();
  638. stmt.close();
  639. Conn.close();
  640. }
  641. return sb.toString();
  642. }catch(Exception e)
  643.         {
  644.             //e.printStackTrace();
  645.             //System.out.print(e.getMessage()); 
  646.             return " ";
  647.         }
  648.     }
  649.     
  650.     
  651.     
  652.     
  653.    /*********************************************************
  654. * 函数名:ShowSpecial
  655. * 作  用:显示专题列表
  656. * 参  数:s0,专题Id,为0表示所有专题
  657. *         页面地址,分页显示的页码
  658. * 返回值:字符串
  659. ***********************************************************/
  660.     public String ShowSpecial(String s0,String sPage,String strPage)
  661.     {
  662.      try
  663.      {
  664.      Connection Conn = DBConn.getConn();
  665.     Statement stmt = Conn.createStatement(1004,1007);
  666.     ResultSet rs = null;
  667.     String sql = "";
  668.     String sClassTitle="没有这个专题";
  669.     StringBuffer sb = new StringBuffer();
  670.     int ID = Fun.StrToInt(Fun.CheckReplace(s0));
  671.     int i;
  672. int intPage = 1; 
  673. int intPageSize = 10;
  674. boolean OK = true;
  675. /************** 取得新闻显示参数 **************/
  676. if (Fun.ReadConfig() && Fun.ListSpecNum>0) intPageSize = Fun.ListSpecNum;
  677.     
  678.     
  679.          
  680.     /************** 专题读取 **************/
  681.      if(ID==0) 
  682.      {
  683.      sql= "select * from Special order by SpecialID desc";
  684.      sb.append("<div id="Spec"><ul>rn");
  685.      }
  686.      else 
  687.      {
  688.      sql = "select * from News where SpecialID=" + ID + " order by NewsID desc";
  689.      sb.append("<div id="News"><ul>rn");
  690.      }
  691.     
  692.     
  693.      /*读取新闻,并分页显示*/
  694.     
  695.      rs = stmt.executeQuery(sql);
  696.      //如果表中没有任何记录,则给出提示信息
  697. if (!rs.next())
  698. sb.append("<li><div id="F3">暂无数据</div></li>rn");
  699. OK = false;
  700. }
  701. else 
  702. {
  703. //取得待显示页码 
  704. intPage = Fun.StrToInt(strPage);
  705. sPage = Fun.CheckReplace(sPage);
  706. if (intPage==0) intPage=1;
  707. //将记录指针定位到待显示页的第一条记录上 
  708. if(!rs.absolute((intPage-1) * intPageSize+1)) rs.absolute(1);
  709. i = 1; 
  710. while(i<=intPageSize && !rs.isAfterLast())
  711. {
  712.      if(ID==0)
  713.      {
  714.      String SpecTitle = rs.getString(2);
  715.      String SpecInfo = rs.getString(3);
  716. String SpecTime = rs.getString(4);
  717. sb.append("<li><img src="pic/spec.gif" border=0> <a title="" + SpecInfo + "" href="Special.jsp?SpecialID=" + rs.getInt(1) + "" target=_blank>");
  718. sb.append(SpecTitle + "</a><span>[" + SpecTime + "]</span></li>rn");
  719. if(i%5==0 && i>1) sb.append("<div id="Line"><div id="L2"></div></div>rn");
  720. rs.next();
  721. i++;
  722. }
  723. else
  724. {
  725. String NewsTitle = rs.getString(2);
  726. String sTitle = NewsTitle;
  727. String NewsTime = rs.getString(7);
  728. if (NewsTitle.length()>25) sTitle = NewsTitle.substring(0,25) + "..";
  729. if(rs.getString(13).equals("Yes")) sTitle += "(图)";
  730. sb.append("<li><img src="pic/li.gif"> <a title="" + NewsTitle + "" href="ShowNews.jsp?NewsID=" + rs.getInt(1) + "" target=_blank>");
  731. sb.append(sTitle + "</a><span>[" + NewsTime + "]</span></li>rn");
  732. if(i%5==0 && i>1) sb.append("<div id="Line"><div id="L2"></div></div>rn");
  733. rs.next();
  734. i++;
  735. }
  736. }
  737. }
  738. sb.append("</ul></div>rn");
  739. if(OK) sb.append(Fun.Page(sPage,rs,intPage,intPageSize));
  740. rs.close();
  741. stmt.close();
  742. Conn.close();
  743. return sb.toString();
  744. }catch(Exception e)
  745.         {
  746.             //e.printStackTrace();
  747.             //System.out.print(e.getMessage()); 
  748.             return " ";
  749.         }
  750.     }
  751.     
  752.     
  753.     
  754.     
  755.     
  756.     
  757.     /*********************************************************
  758. * 函数名:ShowLeftNews
  759. * 作  用:显示左边专题新闻
  760. * 参  数:b:为true表示首页,否则表示二级页面
  761. * 返回值:字符串
  762. ***********************************************************/
  763.     public String ShowLeftNews(boolean b)
  764.     {
  765.      String sql1 = "";
  766.      String sql2 = "";
  767.      try
  768.      {
  769.      Connection Conn = DBConn.getConn();
  770.     Statement stmt1 = Conn.createStatement(1004,1007);
  771.     Statement stmt2 = Conn.createStatement(1004,1007);
  772.     ResultSet rs1 = null;
  773.     ResultSet rs2 = null;
  774.     //String sql1 = "";
  775.     //String sql2 = "";
  776.     StringBuffer sb = new StringBuffer();
  777.     int iSpecNum = 10;  //显示专题数
  778.     int iSpecNewsNum = 10;   //每专题新闻数
  779.     int i=0;
  780.     
  781.     /************** 取得专题参数 **************/
  782.     if (Fun.ReadConfig()) 
  783.     {
  784.      if(b && Fun.SpecNum>0 && Fun.SpecNewsNum>0) 
  785.      {
  786.      iSpecNum = Fun.SpecNum;
  787.      iSpecNewsNum = Fun.SpecNewsNum;
  788.      }
  789.      else if(Fun.BSpecNum>0 && Fun.BSpecNewsNum>0) 
  790.      {
  791.      iSpecNum = Fun.BSpecNum;
  792.      iSpecNewsNum = Fun.BSpecNewsNum;
  793.      }
  794.     
  795.     }
  796.     
  797.     
  798.     /************** 首页专题新闻读取 **************/
  799.      sql1 = "select top " + iSpecNum + " * from [Special] order by SpecialID desc";
  800.      rs1 = stmt1.executeQuery(sql1);
  801.      rs1.last();
  802.     if(rs1.getRow()<iSpecNum) iSpecNum=rs1.getRow();
  803. if(iSpecNum>0)
  804. {
  805. rs1.first();
  806. for(i=1;i<=iSpecNum;i++)
  807. {
  808.      /*读取专题标题*/
  809.      int SpecialID = rs1.getInt(1);
  810.      String SpecialInfo = rs1.getString(3);
  811.      String NewsTitle = rs1.getString(2);
  812.      String sTitle = NewsTitle;
  813.      if (NewsTitle.length()>12) sTitle = NewsTitle.substring(0,12);
  814.      sb.append("<div class="SpecTitle"><div class="title">rn");
  815.      sb.append("<img src="pic/spec.gif" border=0> <a title="" + NewsTitle + "" href="Special.jsp?SpecialID=" + SpecialID + "">");
  816.      sb.append(sTitle + "</a></div>");
  817.      sb.append("<div class="more"><img src="pic/more.gif"><a title="" + SpecialInfo + "" href="Special.jsp?SpecialID=");
  818.      sb.append(SpecialID + ""> 详细</a></div></div>rn");
  819.     
  820.      /*读取每个专题中最新发表的新闻*/
  821.      sql2 = "select top " + iSpecNewsNum + " * from News where SpecialID=" + SpecialID + " order by NewsID desc";
  822.      rs2 = stmt2.executeQuery(sql2);
  823.      sb.append("<div id="B2"></div>rn");
  824.      sb.append("<div class="SpecContent">rn");
  825.                 rs2.last();
  826.                 int iNum = iSpecNewsNum;
  827.     if(rs2.getRow()<iNum) iNum=rs2.getRow();
  828.      if(rs2.first())
  829.      {
  830. for(int j=1;j<=iNum;j++)
  831. {
  832.      NewsTitle = rs2.getString(2);
  833. sTitle = NewsTitle;
  834. String NewsPicture = rs2.getString(8);
  835. String NewsInfo = rs2.getString(16);
  836. String IsImg = rs2.getString(13);
  837. if (NewsTitle.length()>20) sTitle = NewsTitle.substring(0,20);
  838. if (NewsInfo.length()>40) NewsInfo = NewsInfo.substring(0,40);
  839. sb.append("<h3><img src="pic/li.gif"><a title="" + NewsTitle + "" href="ShowNews.jsp?NewsID=" + rs2.getInt(1) + "" target=_blank>rn");
  840. sb.append(sTitle + "</a></h3>rn");
  841. if(IsImg.equals("Yes")) 
  842. {
  843. sb.append("<a title="" + NewsTitle + "" href="ShowNews.jsp?NewsID=" + rs2.getInt(1) + "" target=_blank>rn");
  844. sb.append("<img src="" + NewsPicture + "" alt="" + NewsTitle + "" width="130" height="80" border="0"></a>rn");
  845. sb.append("<p>" + NewsInfo + "</p>rn");
  846. }
  847. if(j%5==0 && j>0 && j!=iNum) sb.append("<div id="L2"></div>rn");
  848. if(j==iNum) sb.append("<div id="B4"></div>");
  849.                    rs2.next();
  850.      }
  851.      }
  852.      sb.append("</div>rn");
  853.      rs2.close();
  854.      if(i>1 && i!=iSpecNum) sb.append("<div id="L1"></div>rn");
  855.      rs1.next();
  856.      }
  857.     }
  858.      rs1.close();
  859. stmt1.close();
  860. Conn.close();
  861. return sb.toString();
  862. }catch(Exception e)
  863.         {
  864.             //e.printStackTrace();
  865.             //System.out.print(e.getMessage()); 
  866.             //System.out.print("  sql1=" +sql1 + "  n");
  867.             //System.out.print("  sql2=" +sql2);
  868.             return " ";
  869.         }
  870.     }
  871.     
  872.     
  873.     
  874.      //测试
  875. public static void main(String[] args)
  876. {
  877. ListClass LC = new ListClass();
  878. //System.out.println(LC.TopClass());
  879. //System.out.println(LC.ShowHotNews(null,true));
  880. //System.out.println(LC.ShowTopNews(null,true));
  881. //System.out.println(LC.ShowLeftNews(false));
  882. //System.out.println(LC.ShowHeadNews(null,true));
  883. //System.out.println(LC.ShowSClassNews("4","ShowSClass.jsp","1"));
  884. //System.out.println(LC.ShowHeadPic(null,true));
  885. //System.out.println(LC.ShowSpecial("1","special.jsp","1"));
  886. //System.out.println(LC.ShowClassNews(null));
  887. }  
  888.   }