freemarker 2.3.20 怎么输出html

freemarker 2.3.20 怎么输出html,第1张

先配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(安装在c:\j2sdk1.4.2):

JAVA_HOME=c:\j2sdk1.4.2

classpath=.%JAVA_HOME%\lib\dt.jar%JAVA_HOME%\lib\tools.jar

path=%JAVA_HOME%\bin

}

}

将上面的这段程序保存为文件名为Test.html的文件,就可以导出html了。

Template 实体有个setEncoding()方法,Configuration 实体有个 setDefaultEncoding() 方法,文件流也能设置编码。

例如:

File file = new File("e:/freemarkers/")

Configuration cfg = new Configuration()

cfg.setDirectoryForTemplateLoading(file)

cfg.setDefaultEncoding("UTF-8")

Template template = cfg.getTemplate("test.ftl")

template.setEncoding("UTF-8")

FileOutputStream fos= new FileOutputStream("e:/htmls/test.html")

OutputStreamWriter osw =new OutputStreamWriter(fos, "UTF-8")

BufferedWriter bw =new BufferedWriter(osw, 1024)

Map<String,Object>tagMap = new HashMap<String, Object>()

template.process(tagMap, bw)

bw.flush()

bw.close()

html转义的问题

数据里里可以直接存带标签的比如<p style="color:red">一句话</p>,程序里不要进行任何处理

在Freemarker中如果想显示不带格式的,用<div>${productDetail?html}</div>

如果想显示HTML格式的<div>${productDetail}</div>就可以

简单的说, 你想把<p>标签作为文字显示,${productDetail?html},此时页面的文字会显示

<p style="color:red">一句话</p>

想把这段话显示成红色的,${productDetaill}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7224262.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存