java - 如何配置 Velocity 模板引擎以避免在合并结果中自动回车?

标签 java velocity

我正在使用 Velocity (1.5) 使用模板+数据源生成一些文本。

我需要处理新行,因为合并结果不是 HTML 而是文本。

我有这种模板(beanInContext 是一个数据矩阵,就像一个 excel 电子表格)

[begin TPL]
  $beanInContext.prepare("someData");
  $beanInContext.anotherOperation(1234);
  #foreach( $row in $beanInContext.rows() )
    #foreach($data in $row.data())
      $data
    #end
  #end 
[end TPL]

我希望合并结果是这样的:

a1 b1 c1
a2 b2 c2
...

但是我得到了类似的东西:

a1
    b1
  c1
  a2  
    b2  
  c2  
  ...

当使用类似的模板引擎时freemarker ,我使用 <#compress> 指令来实现这种格式。

有人知道如何配置速度引擎来避免这种回车困惑吗?

最佳答案

Velocity 与 JSP 非常相似,目前不提供空白管理方面的实际帮助。它已被广泛讨论,但还没有人着手实现该功能。您会发现使用 JTidy 之类的工具对 Velocity 输出进行后处理要好得多。期望看到 Velocity 2.0 在空白处理方面的改进,但按照这个速度,几年内不要期望 Velocity 2.0。工作很慢。

如果空格控制很关键,并且后处理不是一个选项,我会建议使用 Freemarker。

如果您必须使用 Velocity,请注意 1.5 存在一些严重的性能问题。我强烈建议升级到 1.7。

关于java - 如何配置 Velocity 模板引擎以避免在合并结果中自动回车?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5788426/

相关文章:

java - 地理上分散的服务器、PostgreSQL 和 JPA

java - java中变量范围的查询

java - 在 MVC 应用程序中为 View 层使用 JSTL 与 Velocity 的好处?

templates - Velocity 模板宏中的闭包

java - 代码似乎处于无限循环中,无法识别位置

java.lang.RuntimeException : java.net.UnknownHostException:主机未解析:

java - 使用 JSTL 访问 Struts2 操作

java - 根据速度或其他变量向左、向右、向上和向下滑动

java - VelocityEngineUtils 已在 Spring 3.2 中删除,那么还有什么可以使用的呢?

java - Spring 和布局 View