Freemarker 压缩不带空格的 single_line

2023-12-23

似乎 正在用单个空格(“”)替换换行符,而不是仅仅抑制它们。

Example:

<@compress single_line=true>
"First cell"
<#if something >
    |"Second cell"
</#if>
|"Third cell"
</@compress>

正在打印:

"First cell" |"Second cell" |"Third cell"

由于管道之间的空间,遗留系统无法解析它。

有没有办法避免这种情况?也许有一种方法可以读取宏中的每个“嵌套”行来替代@compress的功能?

最后,我不需要“结构源代码”,而是演示代码,因此分配给变量以仅打印结果不会很好。

预先感谢您,亲切的问候。


感谢@ddekany 回答这个问题。接下来是简单的修剪代码:

  1. 前导空格 (^\s+)
  2. 尾随空格 (\s+$)
  3. 换行符 (\n|\r)

在多行模式下使用正则表达式(“rm”参数)

您只需删除表达式上的任何元素以满足您的需要,例如,如果您只想删除缩进,请不要使用 2 和 3 ;)

<#macro compress_single_line>
    <#local captured><#nested></#local>
${ captured?replace("^\\s+|\\s+$|\\n|\\r", "", "rm") }
</#macro>
<@compress_single_line>

    My free indented content    

        ${ someVar }

</@compress_single_line>

希望这对@ddekany 的答案有所补充。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Freemarker 压缩不带空格的 single_line 的相关文章

随机推荐

  • Vertx 连接超时未捕获 JDBCClient (.getConnection)

    我无法处理 JDBCClient 中连接失败的情况 例如 没有主机可路由 连接超时等 因为方法 getConnection 不会返回 failedFuture 但它在监视器中显示原因 然后它将保持沉默 我认为当连接超时或其他原因时 它应该发
  • 正则表达式:如果包含特定字符串则不匹配

    我有两个字符串 Some Stuff S00E00 HDTV x264 2HD mp4 Some Stuff S00E00 720p HDTV X264 这个正则表达式 ome tuff mp4 HDTV x264 我需要的是只匹配第一个
  • Spring Batch - java 配置与 xml

    我已经使用 Spring Batch 的 Xml 配置一段时间了 感觉它更简单 简洁 然而 如今 人们建议使用 javaconfig 而不是 xml 我用谷歌搜索了这个话题 这个网站告诉我们为什么 javaconfig 更好https bl
  • TortoiseSVN 需要打开哪些端口来进行身份验证(明文)和提交?

    TortoiseSVN 需要打开哪些端口进行身份验证 基本 才能提交 我知道这不是一件好事 但我相信用户名和密码现在是清楚的 让我尽可能多地描述一下我所知道的设置以及似乎正在发生的事情 我是一名承包商 帮助一个州部署和修改 大部分 公共领域
  • PC 到 Macbook Pro 的过渡 - 开始(重新)开始?

    我现在正在学习第二门计算机科学课程 到目前为止 我很喜欢编程 但实际上只是勉强度日 除了必修的课堂作业之外 我没有做过太多编程 出于类似的原因 我从未真正投资过下载 学习软件来帮助我编程 IDE 编辑器 编译器等 我知道这听起来很乏味 但我
  • 如何将 UIWebView 内运行的 HTML 事件发送到本机 Objective-C 代码?

    我想在 iOS 应用程序中集成一个完整的 HTML 框架 即 HTML CSS JavaScript 并使 UIWebView 负责运行 HTML 内容 从而能够与本机 Objective C 源代码的其余部分进行通信 方向 1 从 Obj
  • 如何在 Java 8 中以相反顺序从列表中获取有序流

    是否有一种明智的方法可以从列表 特别是数组列表 但这不重要 中获取有序流 该流以与原始列表中的相反的方式流式传输元素 我正在寻找一种不涉及缓冲任何内容 收集器 另一个列表 数组等 因为它们复制浪费的容器 中的数据的解决方案 或者使用Coll
  • AsyncHttpClient 是否知道为所有 HTTP 请求分配多少个线程

    我正在评估异步Http客户端 https github com AsyncHttpClient async http client对于大负载 1M HTTP 请求 对于每个请求 我想使用 AsyncCompletionHandler 调用回
  • 将设备旋转到横向时 UICollectionViewFlowLayout 尺寸警告

    我们使用 UICollectionView 来显示覆盖全屏的单元格 减去状态栏和导航栏 单元格大小设置为self collectionView bounds size void viewWillAppear BOOL animated va
  • 在 C++ 11 中使用自制程序、gcc 和 llvm

    这是我的问题 我想使用 gcc 或 clang 提供的 C 11 功能 但是 我有这些要求 我正在使用 Mac 我依赖于自制程序提供的一堆库 以及really不想自己编译它们 特别是 OSG 它本身依赖于大量其他库 并提升 尽管我总是可以自
  • Spring Security + i18n = 如何使其协同工作?

    我的第一个问题在这里 我会尽力具体说明 我对 Spring 很陌生 我正在尝试创建非常简单的预订系统 但这实际上并不重要 重要的是我正在创建一些基本模板 然后我将用真实的网页填写这些模板 应用程序适用于 hibernate mysql 我还
  • 不平衡随机数发生器

    我必须从升序数组中选择一个元素 较小的元素被认为更好 因此 如果我从数组的开头选择一个元素 它被认为是更好的选择 但同时我不希望选择是确定性的并且始终是相同的元素 所以我正在寻找 一个随机数生成器 生成 0 n 范围内的数字 但是 数量越小
  • 嵌入 MS Word 作为编辑器(就像在 Outlook 中一样)

    在 Outlook 中 您可以使用 Word 作为电子邮件编辑器 不确定 Office 2007 中的情况如何 但在 2003 中可以 我可以在我自己的应用程序中复制这个吗 我看过一篇文章提到使用 Web 浏览器组件 打开 doc 文件并打
  • 使用 RSpec 测试 CSV.generate

    我在 Rails 3 1 项目中有以下助手 我只是想知道是否有办法测试 CSV generate 调用 我很想说我有一些想法如何去做 但事实是我什至不知道从哪里开始 任何想法表示赞赏 require csv module Admin Pur
  • MongoDB:不区分大小写和重音

    我正在寻找字符串 JES S 但只返回具有指定字符串的文档 我需要搜索忽略重音符号和大写字母 我正在使用 C 和 mongodb 驱动程序 我的 mongodb 中保存了两个文档 id 5d265f3129ea36365c7ca587 TR
  • Android 谷歌地图 v2 片段黑色背景问题

    如何在滚动时使谷歌地图 v2 中的黑色背景透明
  • 自己内核的键盘中断处理程序 (C)

    我正在编写一个小型操作系统作为学校作业的一部分 但在获取键盘输入 按一个键 gt 将其显示在屏幕上 时我遇到了困难 我正在使用 osdev org 的 Bare Bones 教程 gcc 交叉编译器 GRUB 引导加载程序 ld 链接器 并
  • 核心数据方法不在头文件中

    为什么这些方法不应该也包含在头文件中 顺便说一句 这是由 xcode 生成的 界面 class Environment Location interface Log NSManagedObject private property nona
  • 安卓HTTPS连接

    我正在做一个 https 帖子 我收到了 ssl 异常不受信任的服务器证书的异常 如果我做正常的http 它工作得很好 我是否必须以某种方式接受服务器证书 我复制了以下来自的代码Java 开发者年鉴 https web archive or
  • Freemarker 压缩不带空格的 single_line

    似乎 正在用单个空格 替换换行符 而不是仅仅抑制它们 Example lt compress single line true gt First cell lt if something gt Second cell Third cell