使用Java自动生成HTML页面

时间:2011-06-13 06:30:17

标签: java html

我正在开发一个Java桌面应用程序。我需要通过我的应用程序创建HTML页面。当用户单击在浏览器中查看按钮时,应创建一个HTML页面,其中包含一些详细信息并将其显示给用户。

有没有办法可以做到这一点?在这种情况下我可以使用任何资源吗?

热烈欢迎任何建议。

5 个答案:

答案 0 :(得分:5)

import java.awt.Desktop;
import java.io.*;

class ShowGeneratedHtml {

    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(
            new FileReader("ShowGeneratedHtml.java"));

        File f = new File("source.htm");
        BufferedWriter bw = new BufferedWriter(new FileWriter(f));
        bw.write("<html>");
        bw.write("<body>");
        bw.write("<h1>ShowGeneratedHtml source</h1>");
        bw.write("<textarea cols=75 rows=30>");

        String line;
        while ((line = br.readLine()) != null) {
            bw.write(line);
            bw.newLine();
        }

        bw.write("</text" + "area>");
        bw.write("</body>");
        bw.write("</html>");

        br.close();
        bw.close();

        Desktop.getDesktop().browse(f.toURI());
    }
}

此PC上的结果

Screenshot of FF

答案 1 :(得分:1)

您应该使用包javax.swing.text.html.HTML。 例如,它有JEditorPane。它提供HTML 3.2支持。您应该只设置URL的名称,如果网络连接可用,将显示该页面。请参阅the example

答案 2 :(得分:0)

您可以查看 - javax.swing.text.html.HTML.Tag它提供了一些基本功能。如果还不够,您可以考虑使用JavaServer Pages。

答案 3 :(得分:0)

Flying Saucer库是一个纯Java库,用于呈现XML,XHTML和CSS 2.1内容。由Java Swing团队成员发起。

答案 4 :(得分:0)

使用jsoup,wffweb,j2html,jwebutils等任何库构建html。(referred from SO)并将其写入临时文件,然后调用Desktop.getDesktop().browse(file.toURI());

如果我们使用wffweb

,可能会是这样的
Html html = new Html(null) {{
    new Head(this);
    new Body(this) {{
        new NoTag(this, "Hello World");
    }};
}};

File tempFile = File.createTempFile("temporary_html", "html", new File("/home/username/tmpdir"));
html.toOutputStream(new FileOutputStream(tempFile));
Desktop.getDesktop().browse(tempFile.toURI());