java template html_java – 确保在StringTemplate中转义HTML实体的...

您可以使用自定义渲染器,例如:

public static class HtmlEscapeStringRenderer implements AttributeRenderer {

public String toString(Object o, String s, Locale locale) {

return (String) (s == null ? o : StringEscapeUtils.escapeHtml((String) o));

}

}

然后在模板中指示您希望它被转义:

$p.name;format="html"$

也就是说,您可能更喜欢在输入上擦除数据,在发送到模板之前进行转换,将装饰人员发送到模板等.

public class App {

public static void main(String[] args) {

STGroupDir group = new STGroupDir("src/main/resource", '$', '$');

group.registerRenderer(String.class, new HtmlEscapeStringRenderer());

ST st = group.getInstanceOf("people");

st.add("people", Arrays.asList(

new Person("Dave", "dave@ohai.com"),

new Person("Nick", "nick@kthxbai.com")

));

System.out.println(st.render());

}

public static class HtmlEscapeStringRenderer implements AttributeRenderer {

public String toString(Object o, String s, Locale locale) {

return (String) (s == null ? o : StringEscapeUtils.escapeHtml((String) o));

}

}

}

这输出:

  • <b>Dave</b> dave@ohai.com
  • <b>Nick</b> nick@kthxbai.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值