freemaker的${}
时间: 2023-11-01 14:56:28 浏览: 79
在Freemarker中,${}是用来引用变量或表达式的特殊符号。模板引擎会将${}中的内容解析成相应的值,并输出到生成的文本中。如果想要在输出中显示${}符号本身,可以使用转义字符进行转义,如示例2所示,使用${r'$'}可以输出$符号。
解决方案是在Java的freemaker中直接输入${}即可,如示例3所示,在模板中的${'$' '{' 'myStr' '}'}将会被解析成相应的值并输出。
相关问题
springboot整合freemarker时${xxx?html}报错
在使用Freemarker的时候,我们有时候需要对输出的HTML进行转义,以避免XSS攻击等安全问题。而在Freemarker中,可以使用`${xxx?html}`的方式进行HTML转义,但是在Spring Boot中,如果直接使用`${xxx?html}`的方式,会出现报错的情况。
要解决这个问题,可以在Spring Boot的配置文件application.properties中添加以下配置:
```
spring.freemarker.template.utility-escaping=false
```
或者在Spring Boot的配置类中添加以下配置:
```
@Configuration
public class FreemarkerConfig {
@Autowired
private freemarker.template.Configuration configuration;
@PostConstruct
public void setSharedVariable() {
configuration.setBooleanFormat("true,false");
configuration.setClassicCompatible(true);
configuration.setNumberFormat("#");
configuration.setDateTimeFormat("yyyy-MM-dd HH:mm:ss");
configuration.setDateFormat("yyyy-MM-dd");
configuration.setTimeFormat("HH:mm:ss");
configuration.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER);
configuration.setWhitespaceStripping(true);
configuration.setSharedVariable("html_escape", new HtmlEscape());
}
}
```
其中,HtmlEscape是一个自定义的Freemarker工具类,代码如下:
```
public class HtmlEscape implements TemplateMethodModelEx {
@Override
public Object exec(List arguments) throws TemplateModelException {
if (arguments != null && arguments.size() > 0) {
SimpleScalar simpleScalar = (SimpleScalar) arguments.get(0);
String value = simpleScalar.getAsString();
return StringEscapeUtils.escapeHtml(value);
}
return null;
}
}
```
这样配置之后,就可以在Spring Boot中正常使用`${xxx?html}`进行HTML转义了。
javafreemarker导出word${}不变
Java和FreeMarker是两种常用的技术工具,可以用来导出Word文档。在使用这两种工具的过程中,我们可以使用${}语法来保持导出的内容不变。
在这个过程中,Java可以作为后端编程语言,用来处理数据和业务逻辑,而FreeMarker则可以用来作为模板引擎,用来区分数据和文本的内容。在导出Word文档时,我们可以使用${}语法将Java中的数据动态地注入到FreeMarker的模板中,最终生成Word文档。
使用${}语法的好处是可以保持导出的内容不变。这是因为${}语法可以在生成Word文档时,根据Java中的数据动态地替换模板中的变量,而不会改变模板本身的内容,保证了导出的Word文档内容的一致性和准确性。
因此,通过Java和FreeMarker导出Word文档时,我们可以使用${}语法来保持导出的内容不变。这样就能够更好地满足用户的需求,提供高质量和准确的Word文档输出。
阅读全文