jsp 生成静态文件

来源:互联网 发布:alphago算法 应用 编辑:程序博客网 时间:2024/06/05 03:39
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("操作失败!");  
  }%>   
原创粉丝点击