0

私はfreemarkerを初めて使用し、フィールドをfreemarkerに挿入する方法を知りたいと思っていましたが、ファイルの先頭からではなく、ルート要素のインデントから各改行をインデントしました。

たとえば、私はフィールドを持っています

<Result>        
    ${response}
</Result>

このフィールドは、書式付きの文字列としての xml です。これには複数の行があります。${response} 変数で示されているように、最初の行は 1 タブ分インデントされています。2 行目は、1 つのタブからではなく、次の行の起点からインデントが開始されます。

出力例

<Result>
    <Response>
<response-1>
    <response-1-child />
</response-1>
</Response>
</Result>

必要なのは、変数を配置したレベルからすべてのインデントを行うことです。

 <Result>
     <Response>
         <response-1>
             <response-1-child />
         </response-1>
     <Response>
 </Result>

どんな助けでも大歓迎です。応答は動的で、任意の長さやサイズにすることができます。

4

1 に答える 1

0

そこで FreeMarker は役に立ちません。XML 出力を output として再フォーマットするフィルターを使用する必要がありますWriter。そのためにどのライブラリを使用する必要があるかはわかりませんが、FreeMarker にはすぐに使用できるフィルターがありません。

于 2013-09-06T11:42:09.067 に答える