Freemarker修剪右空格不起作用

时间:2019-04-04 11:16:13

标签: freemarker

我会尽可能的简单,我有下面的template.ftl

B E G L E I T Z E T T E L                                                 Intern
FUER DATEI:                                                  ${content.fileName}
-------------------------------------------------------------------------------- 
BELEGLOSER DATENTRAEGERAUSTAUSCH
ERZ. SYSTEM:                                                   ${content.system}
INITIATOR:                                                  ${content.initiator}
DATEI ID:                                                      ${content.fileID}

我想输出

B E G L E I T Z E T T E L                                                 Intern
FUER DATEI:                                                             FileName
--------------------------------------------------------------------------------
BELEGLOSER DATENTRAEGERAUSTAUSCH
ERZ. SYSTEM:                                                             SYSTEMX
INITIATOR:                                                             Initiator
DATEI ID:                                                                 FileID

但是我得到的却是 ...对于上述示例,我们说:

B E G L E I T Z E T T E L                                                 Intern
FUER DATEI:                                                            FileName
--------------------------------------------------------------------------------
BELEGLOSER DATENTRAEGERAUSTAUSCH
ERZ. SYSTEM:                                                       SYSTEMX
INITIATOR:                                                             Initiator
DATEI ID:                                                              FileID

换句话说,列未正确对齐

如何在FreeMarker中解决此问题:)?

2 个答案:

答案 0 :(得分:1)

添加<#rt>来修剪右空格

B E G L E I T Z E T T E L                                                 Intern
FUER DATEI:                                                  ${content.fileName}<#rt>
-------------------------------------------------------------------------------- 
BELEGLOSER DATENTRAEGERAUSTAUSCH
ERZ. SYSTEM:                                                   ${content.system}<#rt>
INITIATOR:                                                  ${content.initiator}<#rt>
DATEI ID:                                                      ${content.fileID}<#rt>
  

rt(用于右修剪):忽略此行中的所有尾随空白。

注意在行之间添加新行,例如:

B E G L E I T Z E T T E L                                                 Intern
FUER DATEI:                                                               ${content.fileName}<#rt>

-------------------------------------------------------------------------------- 

答案 1 :(得分:0)

这是答案,我用的不是很复杂:

<#assign lineWidth = 80>
B E G L E I T Z E T T E L                                                 Intern
<#compress>FUER DATEI:                                                          </#compress>${content.fileName?left_pad(lineWidth-"FUER DATEI:"?length," ")}
--------------------------------------------------------------------------------
BELEGLOSER DATENTRAEGERAUSTAUSCH
<#compress>ERZ. SYSTEM:                                                         </#compress>${content.system?left_pad(lineWidth-"ERZ. SYSTEM:"?length," ")}
<#compress>INITIATOR:                                                           </#compress>${content.initiator?left_pad(lineWidth-"INITIATOR:"?length," ")}
<#compress>DATEI ID:                                                            </#compress>${content.fileID?left_pad(lineWidth-"DATEI ID:"?length," ")}

因此,让我们看一下前三行代码:

<#assign lineWidth = 80>
B E G L E I T Z E T T E L                                                 Intern
<#compress>FUER DATEI:                                                          </#compress>${content.fileName?left_pad(lineWidth-"FUER DATEI:"?length," ")}

1。。首先,我分配一个变量lineWidth,该变量代表文件的最大行宽。

2。然后,对于每一行,我使用<#compress>

3。。然后,我添加了value,并向左添加了所需的空格,以使所有内容正确对齐。

----- 下面的老板等级-使用功能 -----

<#assign lineWidth = 80>

<#function createLine prefix value >
    <#return prefix + value?left_pad(lineWidth - prefix?length," ")>
</#function>

B E G L E I T Z E T T E L                                                 Intern
${createLine("FUER DATEI:",content.fileName)}
--------------------------------------------------------------------------------
BELEGLOSER DATENTRAEGERAUSTAUSCH
${createLine("ERZ. SYSTEM:",content.system)}
${createLine("INITIATOR:",content.initiator)}
${createLine("DATEI ID:",content.fileID)}
${createLine("SAMMELREFERENZ ID:",content.referenceID)}
${createLine("RSTELLUNGSDATUM:",content.creationDate)}