jsp 產生靜態檔案

來源:互聯網
上載者:User
JSP直接產生HTML檔案  
   
  摸版是這樣定義的:  
  news.template  
   
  <html>  
  <head>  
  <title>Untitled   Document</title>  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">  
  <LINK   href="../css.css"   rel=stylesheet   type=text/css>  
  </head>  
   
  <body>  
  <table   width="500"   border="0"   align="center"   cellpadding="0"   cellspacing="2">  
      <tr>    
          <td   align="center"><$title$></td>  
      </tr>  
      <tr>    
          <td   align="center">作者:<$author$>&nbsp;&nbsp;發布時間:<font   color=#ff0000><$date$></font></td>  
      </tr>  
      <tr>  
          <td><$content$>  
  </td>  
   
      </tr>  
   
  </table>  
  </body>  
  </html>  
   
  一個產生HTML的類:  
  import   java.io.*;  
   
  public   class   WriteHtml  
  {  
   
          public   WriteHtml()  
          {  
          }  
   
          public   static   void   save(String   s,   String   s1,   String   s2)  
                  throws   WriteFileException  
          {  
                  try  
                  {  
                          a(s1);  
                          FileOutputStream   fileoutputstream   =   new   FileOutputStream(s1     s2);  
                          byte   abyte0[]   =   s.getBytes();  
                          fileoutputstream.write(abyte0);  
                          fileoutputstream.close();  
                  }  
                  catch(IOException   ioexception)  
                  {  
                          throw   new   WriteFileException();  
                  }  
          }  
   
          private   static   void   a(String   s)  
          {  
                  File   file   =   new   File(s);  
                  if(!file.exists())  
                          file.mkdirs();  
          }  
  }  
   
  一個讀取摸版的類:  
  import   java.io.*;  
   
   
   
  public   class   ReadTemplates  
  {  
   
          private   static   String   _fldif   =   null;  
          private   static   Object   a   =   new   Object();  
   
          public   ReadTemplates()  
          {  
          }  
   
          public   static   String   getTlpContent(String   s)  
                  throws   ReadTemplateException  
          {  
                  if(_fldif   ==   null)  
                          synchronized(a)  
                          {  
                                  if(_fldif   ==   null)  
                                          try  
                                          {  
                                                  System.out.println(" ");  
                                                  _fldif   =   a(s);  
                                          }  
                                          catch(ReadTemplateException   readtemplateexception)  
                                          {  
                                                  throw   new   ReadTemplateException("模板資訊讀取失敗。");  
                                          }  
                          }  
                  return   _fldif;  
          }  
   
          private   static   synchronized   String   a(String   s)  
                  throws   ReadTemplateException  
          {  
                  String   s1   =   null;  
                  try  
                  {  
                          FileInputStream   fileinputstream   =   new   FileInputStream(s);  
                          int   i   =   fileinputstream.available();  
                          byte   abyte0[]   =   new   byte[i];  
                          fileinputstream.read(abyte0);  
                          fileinputstream.close();  
                          s1   =   new   String(abyte0);  
                  }  
                  catch(IOException   ioexception)  
                  {  
                          throw   new   ReadTemplateException();  
                  }  
                  return   s1;  
          }  
   
  }  
   
   
   
  jsp檔案:  
   
  <%@   page   contentType="text/html;   charset=gb2312"%>  
  <%@   include   file="/inc.jsp"%>  
  <%  
  String[]   flag   =   {"<$title$>","<$date$>","<$author$>","<$content$>"};  
  String   title=request.getParameter("title");  
  String   content=request.getParameter("content");  
  String   editer="admin";  
  //Session.getAttribute("s_userName");  
  int   classid=Integer.parseInt(request.getParameter("class"));  
  String   filePath   =   "";  
  filePath   =   application.getRealPath("./adminroot/news.template");  
  String   templateContent;  
  try{  
  templateContent   =   ReadTemplates.getTlpContent(filePath);  
  }catch(ReadTemplateException   e){  
  throw   new   Exception("模板資訊讀取失敗。請聯絡系統管理員。");  
  }  
  templateContent   =   ReplaceAll.replace(templateContent,flag[0],title);  
  templateContent   =   ReplaceAll.replace(templateContent,flag[1],GetDate.getStringDate());  
  templateContent   =   ReplaceAll.replace(templateContent,flag[2],editer);  
  templateContent   =   ReplaceAll.replace(templateContent,flag[3],content);  
   
  //   根據時間得檔案名稱與路徑名  
  Calendar   calendar   =   Calendar.getInstance();  
  String   fileName   =   String.valueOf(calendar.getTimeInMillis())   ".shtml";  
  String   pathName   =   application.getRealPath("./news") "//"   calendar.get(Calendar.YEAR)      
  "//"   (calendar.get(Calendar.MONTH) 1)   "//"   calendar.get(Calendar.DAY_OF_MONTH) "//";  
  try{  
  WriteHtml.save(templateContent,pathName,fileName);  
  }catch(WriteFileException   we){  
  throw   new   Exception("操作失敗!");  
  }%>   
    
   
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.