html文件头自动生成,基于infinispan源码包HtmlGenerator代码生成器通过指定头部、标题、底部等进行生成HTML文件...
一、前言
基于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文件...相关推荐
- httpd-2.4.46 (apache) 基于网络源码包安装
注:这个脚本在 centos7.3 7.9 上面测试过, 测试的虚拟机是处于 cenos刚安装完系统,的快照下测试的 还有一个待补充的是 配置httpd-2.4.46 时候,的具体每一项配置 或者可以 ...
- Linux 如何安装程序的源代码软件包/源码程序包/源码包?
文章目录 一.安装源码包的三个步骤 (一)执行命令 configure,进行配置/检测 (二)执行命令 make,编译源码 (三)执行命令 make install,安装软件 二.源码包安装示例 (一 ...
- Linux软件包管理之源码包、脚本安装包
目录 1.源码包和RPM包的区别 RPM包和源码包默认安装位置: 由于安装位置不同带来的影响 2.源码包安装 ①.安装准备 ②.安装注意事项 ③.安装源码包 3.源码包卸载 4.脚本安装包 5.总结 ...
- Linux 如何安装 SRPM 包(源代码 rpm 软件包,以 .src.rpm 为后缀名)/rpm 格式的源码软件包/源码包
文章目录 一.SRPM 介绍 二.SRPM 命名格式 三.SRPM 的安装 (一)直接使用命令 rpmbuild (二)利用 *.spec 文件编译 (三)使用命令 make 编译和安装 四.写在最后 ...
- java 集合反射_关于granite源码包CollectionUtil集合工具类获取集合反射类型、实例化各种集合类型HashSet/ArrayList等...
一.前言 基于granite源码包org.granite.util.CollectionUtil集合工具类,分别获取集合反射类型java.lang.reflect.Type.实例化newCollect ...
- 软件包管理:源码包管理-源码包与RPM包的区别
RPM会安装在默认位置,源码包会安装在指定位置. 绝大多数ROM包遵循此规范.写软件包是就固定好了. 主要影响体现在对服务的管理方法,服务的管理分三种:启动,重启动,停止. 启动时使用绝对路径来启动. ...
- 【SRE笔记 2022.9.7 linux进程相关命令及源码包安装】
SRE笔记 2022.9.7 源码包 定义 源码包安装 优缺点 优点 缺点 获取 安装 C语言和开发 nginx安装示例 基础环境准备 gcc make wget 下载源码包 解压源码包,进入目录 ( ...
- 基于GAN的动漫头像生成系统(源码&教程)
1.研究背景 我们都喜欢动漫角色,并试图创造我们的定制角色.然而,要掌握绘画技巧需要巨大的努力,之后我们首先有能力设计自己的角色.为了弥补这一差距,动画角色的自动生成提供了一个机会,在没有专业技能的情 ...
- vue+elementUI实现sku表格自动生成【效果图+源码】
vue+elementUI实现sku表格自动生成[效果图+源码] 先看一看效果图: 点击这里下载源码,下载后记得安装依赖:npm install
最新文章
- 原型继承与属性拷贝的混合应用
- php 常用数组操作
- 【大数据风控体系】理想大数据风控体系
- Python多线程介绍及实例
- Bootstrap整合ASP.NET MVC验证、jquery.validate.unobtrusive
- [转载]如何用关键字优化网站?
- Vue项目中的RSA加解密
- java编译异常和运行时异常_浅谈异常结构图、编译期异常和运行期异常的区别...
- c++多态与java多态性_Java中的多态性
- Julia: Array元素过滤、元素替代、元素删除等酸爽操作
- elkan K-Means
- fft 估计载波频率程序_调幅信号载波频率的高精度估计方法及装置与流程
- C++基础学习笔记 day03
- 男生的长相到底有多重要?
- OSChina 周五乱弹 ——给网戒中心打电话,结果……
- 达人评测 R5 7530U和i5 1240p选哪个好
- Prometheus告警规则
- Caused by: java.lang.ClassNotFoundException: org.springframework.scheduling.quartz.CronTriggerBean
- HTTPError错误
- 3D可视化大屏是如何实现的?
热门文章
- securecrt配置linux账号密码,配置SecureCRT密钥连接Linux
- window安装python3装环境变量_Windows下的Python安装与环境变量的配置
- axure 8 表格合并_搞定LaTeX论文中的表格
- cifar10数据集测试有多少张图_基于特定数据集的Oracle、ClickHouse、ES测试报告
- 一个亿的融资在一家芯片初创公司可以烧多久?
- 逻辑电平0和1的世界
- 新闻发布系统类图_如何熟悉一个系统?(内含知识大图)
- 字符串类型的数字比较大小_Python核心知识系列:数字与字符串类型
- php如何水平对齐所有星星,css怎么设置水平对齐
- upload-labs_pass20-move_uploaded_file函数特性