一、前言

基于infinispan的infinispan-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 metaKeywords;@b@@b@  public HtmlGenerator(String encoding, String title, String bottom, String footer, String header, String metaDescription, List 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("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("");@b@      writer.println("");@b@      if (isValid(this.metaDescription))@b@        writer.println(new StringBuilder().append("").toString());@b@      if ((this.metaKeywords != null) && (!(this.metaKeywords.isEmpty()))) {@b@        StringBuilder sb = new StringBuilder();@b@        sb.append("");@b@      }@b@      writer.println("");@b@      writer.println(this.title);@b@      writer.println("");@b@      writer.println(new StringBuilder().append("").toString());@b@@b@      writer.println("");@b@      writer.println("");@b@@b@      if (isValid(this.header)) {@b@        writer.println(this.header);@b@        writer.println("");@b@      }@b@@b@      writer.println(generateContents());@b@@b@      if (isValid(this.bottom)) {@b@        writer.println("");@b@        writer.println(this.bottom);@b@      }@b@@b@      if (isValid(this.footer)) { writer.println(this.footer);@b@      }@b@@b@      writer.println("");@b@      writer.println("");@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@}

html文件头自动生成,基于infinispan源码包HtmlGenerator代码生成器通过指定头部、标题、底部等进行生成HTML文件...相关推荐

  1. httpd-2.4.46 (apache) 基于网络源码包安装

    注:这个脚本在 centos7.3 7.9 上面测试过, 测试的虚拟机是处于 cenos刚安装完系统,的快照下测试的 还有一个待补充的是 配置httpd-2.4.46 时候,的具体每一项配置 或者可以 ...

  2. Linux 如何安装程序的源代码软件包/源码程序包/源码包?

    文章目录 一.安装源码包的三个步骤 (一)执行命令 configure,进行配置/检测 (二)执行命令 make,编译源码 (三)执行命令 make install,安装软件 二.源码包安装示例 (一 ...

  3. Linux软件包管理之源码包、脚本安装包

    目录 1.源码包和RPM包的区别 RPM包和源码包默认安装位置: 由于安装位置不同带来的影响 2.源码包安装 ①.安装准备 ②.安装注意事项 ③.安装源码包 3.源码包卸载 4.脚本安装包 5.总结 ...

  4. Linux 如何安装 SRPM 包(源代码 rpm 软件包,以 .src.rpm 为后缀名)/rpm 格式的源码软件包/源码包

    文章目录 一.SRPM 介绍 二.SRPM 命名格式 三.SRPM 的安装 (一)直接使用命令 rpmbuild (二)利用 *.spec 文件编译 (三)使用命令 make 编译和安装 四.写在最后 ...

  5. java 集合反射_关于granite源码包CollectionUtil集合工具类获取集合反射类型、实例化各种集合类型HashSet/ArrayList等...

    一.前言 基于granite源码包org.granite.util.CollectionUtil集合工具类,分别获取集合反射类型java.lang.reflect.Type.实例化newCollect ...

  6. 软件包管理:源码包管理-源码包与RPM包的区别

    RPM会安装在默认位置,源码包会安装在指定位置. 绝大多数ROM包遵循此规范.写软件包是就固定好了. 主要影响体现在对服务的管理方法,服务的管理分三种:启动,重启动,停止. 启动时使用绝对路径来启动. ...

  7. 【SRE笔记 2022.9.7 linux进程相关命令及源码包安装】

    SRE笔记 2022.9.7 源码包 定义 源码包安装 优缺点 优点 缺点 获取 安装 C语言和开发 nginx安装示例 基础环境准备 gcc make wget 下载源码包 解压源码包,进入目录 ( ...

  8. 基于GAN的动漫头像生成系统(源码&教程)

    1.研究背景 我们都喜欢动漫角色,并试图创造我们的定制角色.然而,要掌握绘画技巧需要巨大的努力,之后我们首先有能力设计自己的角色.为了弥补这一差距,动画角色的自动生成提供了一个机会,在没有专业技能的情 ...

  9. vue+elementUI实现sku表格自动生成【效果图+源码】

    vue+elementUI实现sku表格自动生成[效果图+源码] 先看一看效果图: 点击这里下载源码,下载后记得安装依赖:npm install

最新文章

  1. 原型继承与属性拷贝的混合应用
  2. php 常用数组操作
  3. 【大数据风控体系】理想大数据风控体系
  4. Python多线程介绍及实例
  5. Bootstrap整合ASP.NET MVC验证、jquery.validate.unobtrusive
  6. [转载]如何用关键字优化网站?
  7. Vue项目中的RSA加解密
  8. java编译异常和运行时异常_浅谈异常结构图、编译期异常和运行期异常的区别...
  9. c++多态与java多态性_Java中的多态性
  10. Julia: Array元素过滤、元素替代、元素删除等酸爽操作
  11. elkan K-Means
  12. fft 估计载波频率程序_调幅信号载波频率的高精度估计方法及装置与流程
  13. C++基础学习笔记 day03
  14. 男生的长相到底有多重要?
  15. OSChina 周五乱弹 ——给网戒中心打电话,结果……
  16. 达人评测 R5 7530U和i5 1240p选哪个好
  17. Prometheus告警规则
  18. Caused by: java.lang.ClassNotFoundException: org.springframework.scheduling.quartz.CronTriggerBean
  19. HTTPError错误
  20. 3D可视化大屏是如何实现的?

热门文章

  1. securecrt配置linux账号密码,配置SecureCRT密钥连接Linux
  2. window安装python3装环境变量_Windows下的Python安装与环境变量的配置
  3. axure 8 表格合并_搞定LaTeX论文中的表格
  4. cifar10数据集测试有多少张图_基于特定数据集的Oracle、ClickHouse、ES测试报告
  5. 一个亿的融资在一家芯片初创公司可以烧多久?
  6. 逻辑电平0和1的世界
  7. 新闻发布系统类图_如何熟悉一个系统?(内含知识大图)
  8. 字符串类型的数字比较大小_Python核心知识系列:数字与字符串类型
  9. php如何水平对齐所有星星,css怎么设置水平对齐
  10. upload-labs_pass20-move_uploaded_file函数特性