jsp生成静态html

方法一  

 

1.buildhtml.jsp

<%@ page contentType= "text/html; charset=gb2312 " import= "java.util.*,java.io.* "%> 
<% 
try{ 
String title= "This is Title "; 
String content= "This is Content Area "; 
String editer= "LaoMao "; 
String filePath = " "; 
filePath = request.getRealPath( "/ ")+ "test/template.htm "; 
//out.print(filePath+ " <br/> "); 
String templateContent= " "; 
FileInputStream fileinputstream = new FileInputStream(filePath);//读取模块文件 
int lenght = fileinputstream.available(); 
byte bytes[] = new byte[lenght]; 
fileinputstream.read(bytes); 
fileinputstream.close(); 
templateContent = new String(bytes); 
//out.print(templateContent); 
templateContent=templateContent.replaceAll( "###title### ",title); 
templateContent=templateContent.replaceAll( "###content### ",content); 
templateContent=templateContent.replaceAll( "###author### ",editer);//替换掉模块中相应的地方 
//out.print(templateContent); 
// 根据时间得文件名 
Calendar calendar = Calendar.getInstance(); 
String fileame = String.valueOf(calendar.getTimeInMillis()) + ".html "; 
fileame = request.getRealPath( "/ ")+fileame;//生成的html文件保存路径 
FileOutputStream fileoutputstream = new FileOutputStream(fileame);//建立文件输出流 
byte tag_bytes[] = templateContent.getBytes(); 
fileoutputstream.write(tag_bytes); 
fileoutputstream.close(); 
} 
catch(Exception e){ 
out.print(e.toString()); 
} 

%> 


2. template.htm

<html> 
<head> 
<title> ###title### </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:###author###   </td> 
</tr> 
<tr> 
<td> ###content### 
</td> 

</tr> 

</table> 
</body> 
</html>


 

方法二

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.text.SimpleDateFormat;
import java.util.Date;

public class HtmlDemo {

/**
* @param args
*/
public static void main(String[] args) {
   // TODO Auto-generated method stub
   StringBuilder path=new StringBuilder();
  
   path.append("//FileDemo");//保存生成Html文件的目录
  
   File file1;
   String str=null;
  
   Date todaytime=new Date();
   SimpleDateFormat date=new SimpleDateFormat("yyyyMM");
   SimpleDateFormat ttime=new SimpleDateFormat("yyyyMMddhhMMSS");
   
   String name =ttime.format(todaytime);//生成当前时间作为文件名
  
   String folder=date.format(todaytime);//生成当前日期作为文件夹名
  
   File file=new File(path.toString());
   
   File[] files = file.listFiles();//得到根目录下的所有文件名目录
  
   for(int i=0;i < files.length;i++){
   
    if(files[i].isDirectory()){//判断是否为目录
    
     if(files[i].getName().equals(folder)){
     
      str=files[i].getName();
    
     }
    } 
   }
  
   if(str==null){
   
     file1=new File(path.append("\\"+folder+"\\").toString());
     
     file1.mkdir();//如果str等于空.则在根目录下创建folder目录.
     
     System.out.println("1:"+path);
     
   }else{
   
    path.append("\\"+str+"\\");//如果str不为空,则用原目录
    System.out.println("2:"+path);
   }
  
   String content="this is my fisrt Html page.这是我第一个html页面<br>呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......";
  
   File file2 = new File(path.append(name+".html").toString());
   System.out.println(path);
   StringBuilder sb = new StringBuilder();

   try {
    file2.createNewFile();//创建文件
    sb.append("<html><head><title>Html Test</title></head><body>");
    sb.append("<div align='center'>");
    sb.append(content);
    sb.append("</div>");
    sb.append("</body></html>");
   
    PrintStream printStream = new PrintStream(new FileOutputStream(file2));
   
    printStream.println(sb.toString());//将字符串写入文件
   
    String newPath=path.toString().replace("\\", "/");
   
    System.out.println(newPath);
   
   } catch (IOException e) {
    
    e.printStackTrace();
   }


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值