0

そのため、xml サービスから返される CDATA をレンダリングしようとしています。返されるデータの形式は次のとおりです。

   <Characteristic>
              <name>What to do what to say</ns32:name>
              <value>&lt;![CDATA[&lt;br&gt; Line1 &lt;/br&gt; Line2]]&gt;</value>
           <orderCharacteristic>

次に、次のコードを使用して、この値を ftl ファイルに表示します。

<#if Characteristic.name="What to do what to say">
    <#assign whatToSay=orderCharacteristic.value>
</#if>
${whatToSay}

通常、次のように表示されます。

 Line1
 Line 2

ただし、値を表示しようとすると、次のように表示されます。

    Line1
    Line 2]]>

最後に ]]> が表示されている理由がわかりません。それを削除すると、xml は正常に読み取られ、メッセージも適切に表示されますが、私を悩ませているのはその理由です。

4

1 に答える 1

1

HTMLに書かれているのは

<![CDATA[<br> Line1 </br> Line2]]>

HTML はそのような CDATA ブロックを理解しないため、次のように解釈します。

<![CDATA[<br>   -- bogus comment
Line1           -- text
<br>            -- line break
Line2]]>        -- text
于 2013-09-16T09:13:36.970 に答える