我正在开发一个Java桌面应用程序。我需要通过我的应用程序创建HTML页面。当用户单击在浏览器中查看按钮时,应创建一个HTML页面,其中包含一些详细信息并将其显示给用户。
有没有办法可以做到这一点?在这种情况下我可以使用任何资源吗?
热烈欢迎任何建议。
答案 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());
}
}
答案 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());
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());