我使用java邮件发送html内容以创建html内容。
这就是我所拥有的:
String format = "
<div style=\"font: 100% Verdana, Arial, Helvetica, sans-serif;
background: #eee;
margin: 0;
padding: 20px 0 20px 0;
text-align: center;
color: #000000;\">"
+ "
<div style=\"width:46em;
background: #FFFFFF;
margin: 0 auto;
text-align: left; \">"
我还想使用bootstreap或任何其他库来包含内联css的css文件。
如何减少代码以避免使用内联CSS?
答案 0 :(得分:1)
您可以使用Apache Velocity。
你可以这样做:
yourfile.html
<h1 style="color: #00">$entity.header</h1>
MyOwnEntity.java
public class MyOwnEntity{
private String header;
public MyOwnEntity(String header){
this.header = header;
}
public getHeader(){
return header;
}}
TemplateLoader.java
public class TemplateLoader {
public static <ENTITY> String loadFilledTemplate(ENTITY entity, String templatePath) throws IOException {
final Properties p = new Properties();
p.setProperty("resource.loader", "class");
p.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
Velocity.init(p);
final VelocityContext context = new VelocityContext();
context.put("entity", entity);
final Template template = Velocity.getTemplate(templatePath);
try (StringWriter writer = new StringWriter()) {
template.merge(context, writer);
return writer.toString();
}
}}
在你的班级
String format = TemplateLoader.loadFilledTemplate(new MyOwnEntity("custom"), "yourfile.html");