首页

基于infinispan源码包HtmlGenerator代码生成器通过指定头部、标题、底部等进行生成HTML文件

标签:HtmlGenerator,代码生成器,生成html文件,infinispan-tools     发布时间:2018-07-03   

一、前言

基于infinispaninfinispan-tools-4.2.1.FINAL.jar源码包org.infinispan.tools.doclet.html.HtmlGenerator代码生成器,按照指定标题title、编码encoding、底部bottom、脚部footer、头部header、媒体类型描述metaDescription及媒体类型关键字metaKeywords等进行自定义生成HTML代码文件内容,详情源码说明部分。

二、源码说明

package org.infinispan.tools.doclet.html;@b@@b@import java.io.FileOutputStream;@b@import java.io.IOException;@b@import java.io.OutputStreamWriter;@b@import java.io.PrintWriter;@b@import java.util.List;@b@@b@public abstract class HtmlGenerator@b@{@b@  String encoding;@b@  String title;@b@  String bottom;@b@  String footer;@b@  String header;@b@  String metaDescription;@b@  List<String> metaKeywords;@b@@b@  public HtmlGenerator(String encoding, String title, String bottom, String footer, String header, String metaDescription, List<String> metaKeywords)@b@  {@b@    this.encoding = encoding;@b@    this.title = title;@b@    this.footer = footer;@b@    this.header = header;@b@    this.bottom = bottom;@b@    this.metaDescription = metaDescription;@b@    this.metaKeywords = metaKeywords;@b@  }@b@@b@  public void generateHtml(String fileName) throws IOException {@b@    generateHtml(fileName, "stylesheet.css");@b@  }@b@@b@  public void generateHtml(String fileName, String styleSheetName) throws IOException {@b@    FileOutputStream fos = new FileOutputStream(fileName);@b@    OutputStreamWriter osw = new OutputStreamWriter(fos);@b@    PrintWriter writer = new PrintWriter(osw);@b@    try {@b@      writer.println("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n\t\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");@b@@b@      writer.println("<HTML xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">");@b@      writer.println("<HEAD>");@b@      if (isValid(this.metaDescription))@b@        writer.println(new StringBuilder().append("<META NAME=\"description\" content=\"").append(this.metaDescription).append("\" />").toString());@b@      if ((this.metaKeywords != null) && (!(this.metaKeywords.isEmpty()))) {@b@        StringBuilder sb = new StringBuilder();@b@        sb.append("<META NAME=\"keywords\" content=\"");@b@        for (String keyword : this.metaKeywords) sb.append(keyword).append(", ");@b@        sb.append("\" />");@b@      }@b@      writer.println("<TITLE>");@b@      writer.println(this.title);@b@      writer.println("</TITLE>");@b@      writer.println(new StringBuilder().append("<LINK REL=\"stylesheet\" HREF=\"").append(styleSheetName).append("\" TYPE=\"text/css\"/>").toString());@b@@b@      writer.println("</HEAD>");@b@      writer.println("<BODY>");@b@@b@      if (isValid(this.header)) {@b@        writer.println(this.header);@b@        writer.println("<HR />");@b@      }@b@@b@      writer.println(generateContents());@b@@b@      if (isValid(this.bottom)) {@b@        writer.println("<HR />");@b@        writer.println(this.bottom);@b@      }@b@@b@      if (isValid(this.footer)) { writer.println(this.footer);@b@      }@b@@b@      writer.println("</BODY>");@b@      writer.println("</HTML>");@b@    } finally {@b@      writer.close();@b@      osw.close();@b@      fos.close();@b@    }@b@  }@b@@b@  protected abstract String generateContents();@b@@b@  protected boolean isValid(String s) {@b@    return ((s != null) && (s.trim().length() != 0));@b@  }@b@}
<<推荐下载>>
  • (1) 阿里巴巴Java开发手册8种不同版本
  • (2) Web前端开发视频教程
  • (3) 30+明星讲师PPT课件分享一线大厂架构实战经验
  • (4) java开发_架构篇_视频资源分享_v2208
  • (5) java开发_高级篇_视频资源分享_v2208
  • (6) java开发_进阶篇(中级)_视频资源分享_v2208
  • (7) java开发_入门篇_视频资源分享_v2208
  • (8) 微信小程序开发视频1+167源码+实战demo等下载
  • (9) easy-shopping电子商务java源码(附脚本和安装文档说明)下载
  • (10) java常用的72份知名实用的电子书下载
  • (11) java开发性能优化资料整理大全(8份电子文档+3份实战优化)下载
  • (12) 9个常用的算法设计资料和100以上视频课件内容下载
  • (13) vue开发必备常用手册16件下载
  • (14) 21种不同技术集群方案(es、flink、redis、nginx、zk、lvs、kafka、mysql、k8s等)参考资料下载
  • (15) 20种技术代码规范(js/java/dba/阿里/华为/oracle/mysql等)参考资料下载
  • (16) 微服务五套资料(0-1,架构设计,springcloud,nacos等)下载
  • (17) 架构师(28知识图谱+3套简历模板+6套架构实战文档等)完整资料整理下载
  • (18) 大数据18套实战基础知识+8套简历模板下载
  • (19) 并发编程全套(7套+阿里巴巴+亿级实战等)实战资料下载
  • (20) Kafka九套学习整理知识点全套(面试+笔记+代码api+命令+容备等)资料下载
  • (21) java全套9个不同方向类型的面试题(基础+核心+大厂+架构师+近万套题库等)下载
  • (22) JAVA开发常用API帮助文档大全(超52种以上技术资料,高手必备)下载
  • (23) springcloud超详细139件全套学习实战资料( 视频课件+源码demo+文档资料等)下载
  • 更多推荐>>
  • <<热门文章>>