我想生成一个html文件形成字符串内容。但是我不想在Java类中使用硬码HTML标签(例如<html>
,<body>
,<tr>
,<td>
等(。同时,我也不想使用任何第三方库。
这是一个简单的Java项目(没有网络项目的味道(。
在我看来,我正在考虑使用属性文件配置所有HTML标签并在我的Java类中使用这些属性。
如果有人有其他方法可以做到这一点,请通过一个简单的例子向我建议。
我一直在沿着这些线路进行尝试(生成收据的图像,通过HTML/CSS,因为WKHTMLTOPDF可以将其呈现为PNG(。我认为您会发现,试图抽象弦乐器生成器来处理CSV,XML等的潜在未来输出。我现在有对象通过JSON,XML和HTML处理,并且它们都需要不同的方法。对于JSON,我依靠春季的转换。对于XML,我使用JAXB。对于html,我一直在做一些用模板评论中提到的人。
,例如
String template = "<html><head/><body><h1>Hello %s</h1></body></html>";
System.out.println(String.format(template, "World");
在评论中也建议,您可以从文件加载该模板字符串,但是这会很快变得复杂,例如,如果您在第一个对象中有需要生成自己的html的对象:
public Class Container{
private String name;
private OtherClass other;
public convertToHtml(){
String template = "<html><head/><body><h1>Hello %s. Other: %s</h1></body></html>";
return String.format(template, name, other.convertToHtml());
}
}
public Class OtherClass{
private String stuff;
public convertToHtml(){
String template = "<span>%s</span>";
return String.format(template, stuff);
}
}