ftl 模板中的 escapeHtml="false" 引发参数类型不匹配
Posted
技术标签:
【中文标题】ftl 模板中的 escapeHtml="false" 引发参数类型不匹配【英文标题】:escapeHtml="false" in ftl template throws argument type mismatch 【发布时间】:2015-09-20 00:37:54 【问题描述】:这是代码。
<@s.property value="content" escapehtml="false"/>
从数据库中检索变量内容并包含一个 HTML 片段。如果我删除 escapeHtml
属性,则成功检索内容并将其写入屏幕。内容包含两个图像,并且没有escapeHtml
属性,屏幕将html 内容打印为字符串表示形式。但我想以 HTML 格式查看图像。所以我使用escapeHtml="false"
并从日志中看到抛出异常。
原因:java.lang.IllegalArgumentException:参数类型不匹配
如何以 HTML 格式查看内容?
【问题讨论】:
您使用的是哪个版本的 S2?老版本没有escapeHtml
属性,但是有escape
属性。
【参考方案1】:
我在 jsp 中使用了相同的代码。 jsp中的代码是:
<s:property value="content" escapeHtml="false"/>
。那工作正常。我猜这是一个 freemarker 问题。
【讨论】:
【参考方案2】:当然应该是escapeHtml=false
,不带引号。如果你写"false"
,那是 FreeMarker 中的一个字符串。 (顺便说一句,2.3.22 在错误消息中对此进行了解释,因此您肯定没有使用最新版本。)
【讨论】:
以上是关于ftl 模板中的 escapeHtml="false" 引发参数类型不匹配的主要内容,如果未能解决你的问题,请参考以下文章