freemarker 相关问题

FreeMarker是一个基于Java的模板引擎,是一个基于模板生成文本输出(从HTML到自动生成的源代码)的通用工具。它是一个Java包,是Java程序员的类库。它本身并不是最终用户的应用程序,而是程序员可以嵌入到他们的产品中的东西。

如何转义捕获分配的 Freemarker 输出?

我想转义变量的输出,该变量在示例 2 中使用了 <#assign> 的捕获语法。 示例1: <#assign test1='{"json": "more"}' /> 我想转义变量的输出,该变量在示例 2 中使用了 <#assign> 的捕获语法。 示例1: <#assign test1='{"json": "more"}' /> <div data-test1="${test1}"></div> 输出(转义): <div data-test1="{&quot;json&quot;: &quot;more&quot;}"></div> 示例2: <#assign test2><@compress single_line=true> { "json": "because it is more complex with list, if else etc." } </@compress></#assign> <div data-test2="${test2}"></div> 输出(未转义): <div data-test2="{ "json": "because it is more complex with list, if else etc." }"></div> 这正是docs描述此功能的方式。还有用于转义的docs。 我需要使用第二个示例,因为 test2 生成起来更复杂。 有没有办法强制转义或将非标记输出转换为标记?我尝试了?esc,<#outputformat><#autoesc>,重新分配给另一个变量。 没有任何效果。 找到解决方案。通过内置 ?markup_string 将标记输出转换为字符串。然后就会自动转义了。 <div data-test2="${test2?markup_string}"></div> 输出: <div data-test2="{ &quot;json&quot;: &quot;because it is more complex with list, if else etc.&quot; }"></div> 您需要将捕获生成的 JSON 的部分放入 <#outputformat "JSON">...</#outputformat> 中。 (plainText,或任何非标记输出格式也可以很好地工作,只要不抑制标记内的转义即可。) <#outputformat "JSON"> <#assign test2><@compress single_line=true> { "json": "because it is more complex with list, if else etc." } </@compress></#assign> </#outputformat> <div data-test2="${test2}"></div>

回答 2 投票 0

使用 Freemarker 为 GeoServer GetFeatureInfo 格式化日期时出现问题

我在尝试使用 Freemarker 模板以所需格式显示日期时遇到了一些麻烦。 我将带有日期信息的点存储在通过 FME 过程编写的 PostGIS 数据库中...

回答 2 投票 0

Geoserver FreeMarkerTemplate GetFeatureInfo 图像未显示

我正在尝试使用Freemarker模板在点击时显示建筑物的相应图片。 getfeatureinfo 功能按预期工作,但图片在

回答 1 投票 0

Struts 2 到 Struts 6 迁移

Struts 2.5.34 到 Struts 6.3 迁移 目前我们的应用程序是 struts 2.5.3 版本。 随着 Apache 宣布停产,我们正在使用官方 migra 升级到 Struts 6(确切地说是 6.3)...

回答 1 投票 0

为什么升级到 Struts 6.3.0.2 后,Struts 标签中的转义不起作用

如果我有如下的 Struts 2 标签 结果应该...

回答 1 投票 0

struts 升级 6.3.0.2 后,innerHtml 属性不起作用

如果我有一个如下的JSP 如果我有一个如下的JSP <s:optiontransferselect leftTitle="<strong>All system groups</strong>" </s> 结果应该是 <strong>All system groups</strong>,但看起来是因为它带有带有 escapeHTML 的强标签,我尝试将 struts.ui.escapeHtmlBody 设置为 false 但不起作用。 struts.ui.escapeHtmlBody设置仅允许在标签正文中切换转义选项。例如,如果您使用嵌套标签并允许转义标签正文中使用的所有标签。它不允许关闭 Struts 标签属性的转义值。 Struts 标签的内容是使用 Freemarker 生成的。最新版本的 Struts 使用其自动转义 html 输出功能,该功能在 Freemarker 中默认启用。 禁用自动转义 对于单个插值,您可以使用 ?no_esc 禁用自动转义: TEMPLATE <#-- Let's assume we have "HTML" output format by default. --> ${'<b>test</b>'} <#-- prints: &lt;b&gt;test&lt;/b&gt; --> ${'<b>test</b>'?no_esc} <#-- prints: <b>test</b> --> 您还可以使用 noautoesc 指令禁用整个部分的自动转义: TEMPLATE ${'&'} <#-- prints: &amp; --> <#noautoesc> ${'&'} <#-- prints: & --> ... ${'&'} <#-- prints: & --> </#noautoesc> ${'&'} <#-- prints: &amp; --> 就像输出格式一样,这只适用于块内的部分(“着色”逻辑)。 也可以在 ftl 标头中禁用整个模板的自动转义。然后可以使用 autoesc 指令重新启用某个部分: TEMPLATE <#ftl autoesc=false> ${'&'} <#-- prints: & --> <#autoesc> ${'&'} <#-- prints: &amp; --> ... ${'&'} <#-- prints: &amp; --> </#autoesc> ${'&'} <#-- prints: & --> 当转义被禁用时,您还可以强制转义单个插值,使用 ?esc: TEMPLATE <#ftl autoesc=false> ${'&'} <#-- prints: & --> ${'&'?esc} <#-- prints: &amp; --> 当然,autoesc 和 ?esc 也可以在 noautoesc 块内工作。 现在您可以欺骗 Freemarker 禁用单个值的自动转义 <s:optiontransferselect leftTitle="'<strong>All system groups</strong>'?no_esc"</s> 另一种选择是使用自定义模板来自定义 html 输出,使用自定义 Freemarker 模板,您可以在其中关闭自动转义。

回答 1 投票 0

无法在我的 .ftl 文件中导入 .ftl 文件 - freemarker

我正在尝试使用 freemarker 来模板化我的 java 类。 我的配置 bean 是: @豆 公共 FreeMarkerConfigurer freeMarkerConfigurer() { FreeMarkerConfigurer 配置器 = 新 FreeMarkerConf...

回答 1 投票 0

Freemarker - 禁用语法验证?

是否有禁用 ParseException 的选项? 我的 HTML 字符串的语法有问题? HTML 字符串是由我的用户创建的,因此可能存在语法...

回答 1 投票 0

使用 freemarker 模板将字符串转换为 JSON 对象

<#assign loanInformation = '{"8":{"loanId":"8","employeeId":"7","loanType":"1","totalAmount":"100000",&q...

回答 1 投票 0

freemarker 模板语法 spring boot

我有一个创建哈希图的 springboot 应用程序。我想创建一个具有一个标题和多行的表(映射中的每个值一个)。以下代码返回 ISE: 那里...

回答 1 投票 0

Keycloak 21 中未覆盖注册模板

在我的自定义注册对象中,我有以下代码: @覆盖 公共无效buildPage(FormContext上下文,LoginFormsProvider表单){ logger.info("正在启动自定义表单..."); ...

回答 1 投票 0

Freemarker 不支持下一行,即

我正在使用Freemarker模板在Spring Boot应用程序中生成PDF。 我有一个字符串 示例:“这 是 A 新的 线” 但生成 PDF 后,

回答 1 投票 0

如果商品类型=库存商品则隐藏

我正在尝试修改我的高级 HTML/PDF 模板,以便隐藏发票上的所有库存项目(项目行)。我找到了 SuiteAnswers 33495 和以下代码片段 <#if !item.item?contai...

回答 4 投票 0

如何从另一个创建新的过滤序列

如果我有一个像这样的序列: <#assign seq = ['a', 'b', 'c', 'd', 'e']> 我需要获得一些新序列,它们是原始序列的过滤版本。例如: <#assign seq1 = ['a...

回答 1 投票 0

Freemarker:如何从另一个序列创建新的过滤序列

如果我在 Freemarker 中有一个序列,例如: <#assign seq = ['a', 'b', 'c', 'd', 'e']> 我需要获得一些新序列,它们是原始序列的过滤版本。例如: <#ass...

回答 1 投票 0

导入 spring.ftl 找不到

我正在将我的项目从旧启动 1.x 升级到 2.3.12,几乎完成,但有一件事是 make 问题。 在这个项目中我使用了freemarker,因此升级了boot并使用了starter-freemarker。 服务器即将上线...

回答 1 投票 0

Freemarker:结合宏和函数

对于特定用例,我需要一个也可以写入输出的函数的功能。我无法使用宏,因为我的函数返回值。是否有可能这两个函数都生成...

回答 1 投票 0

FreeMarker 模板中的 if-else

FreeMarker 模板支持具有以下语法的 if 语句 <#if hot> 很热。 我查看了文档,找不到任何对 if-else 状态的支持......

回答 4 投票 0

如果值为空,Freemarker 不会输入 if/else

<#if myVar = "test"> A <#else> 乙 <#/if> 如果 myVar 为 null / 未定义,则 A 和 B 都不会输出。这是通过添加来解决的!变量之后: <#if myVar!...

回答 4 投票 0

Freemarker:truncate_c 未按预期工作

根据文档 truncate_c 应该在任何给定位置截断文本: truncate_c 将截断任何字符,而不仅仅是字尾。为了 例如,longName?truncate_c(16) 返回“This ...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.