如何在java中实现自动生成html

html-css026

如何在java中实现自动生成html,第1张

自动生成?

1,编写html文件的内容

2,将编写的文件内容写入一个文件中

3,保存文件为.html文件到指定目录

4,根据路径调用生成的html文件

我理解你的问题是生成动态网页是吧。一般动态的HTML是通过支持CGI 即 (通用网关接口)的语言生成的。例如 PHP  ASP  PYTHON  RUBY等。当然前段的JS 也可以通过DOM 生成动态HTML

所谓HTML实际上是一种标记语言。而后端脚本语言通常可以控制 终端设备输出显示。这样利用输出加上通用网关接口就可以实现 动态的HTML输出(在这里实际上用户浏览器就是一个终端。)

一般后台语言生成HTML都是通过模板实现 例如PYTHON

# ! / u s r / b i n / e n v p y t h o n 

import cgi 

 reshtml = '''Content-Type: text/html\n 

<HTML><HEAD><TITLE> 7 Friends CGI Demo (dynamic screen) 

</TITLE></HEAD> 

<BODY><H3>Friends list for: <I>%s</I></H3>   

Your name is: <B>%s</B><P> 

You have <B>%s</B> friends. 

  </BODY></HTML>''' 

 form = cgi.FieldStorage() 

who = form['person'].value  howmany = form['howmany'].value   print reshtml %

(who, who, howmany) 

我们在使用Hexo框架生成静态博客时,其实是将你写好的.md文件输出成HTML文件进行渲染,其中HTML的文件名称就是.md的文件名称。

通常是把.md文件命名成中文的甚至是文章的标题,那么生成HTML文件时也就是中文的文件名了。

这样就会带来一个比较麻烦的问题就是,url的链接过长,不利于记录和同步,而且对搜索引擎不友好。例如 什么样的问题应该使用动态规划 这段中文url就编译成了 %E4%BB%80%E4%B9%88%E6%A0%B7%E7%9A%84%E9%97%AE%E9%A2%98%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92/

我们可以在Hexo生成HTML文件时,修改HTML的命名策略,即将原始的命名方式改为我们自定义的命名方式?

Hexo的根配置文件_config.yml,打开它,修改配置文件

我把他改成这样了,page是目录,执行 hexo g 会在public下生成,我让生成的HTML文件都放在page下, :fileName.html 是HTML的命名格式,其中 fileName 是个变量。这个变量从哪来?

为保证文件名在文件的名字不变,我们把文件名和 Title 关联起来,然后通过 base64 进行编码,这样只要title不变我们文件也不变,同时这个改变最好在进行文档生成就执行,所以我们需要把该功能做成插件 hexo-abbrlink-base64 。

源码如下:

生产的文件格式如下:

使用abbrlink之后,文章的url就会变得非常简洁,例如 https://XXXXXX/pages/5S50ll2222.html

有一些插件会根据标题的拼音、翻译生成permlink,但是我感觉这些都不是好的做法。事实上url不宜太长,将一句话放在url中并不一定增强所谓的seo优化,反倒导致其使用起来相当不便。

就像许多博客平台一样,为每篇文章分配短小且唯一的url即可,无论是看起来还是用起来都很方便。