3

ページにrssアイテムを表示するためにjTemplateを使用しています。ただし、各アイテムの説明は正しく表示されません。

私のテンプレートは次のとおりです。

<table>
  <thead>
    <tr>
      <th>Date</th>
      <th>Title</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    {#foreach $T.Items as post}
    <tr>
      <td>{$T.post.PubDate}</td>
      <td><a href="{$T.post.Link}">{$T.post.Title}</a></td>
      <td>{$T.post.Description}</td>
    </tr>
    {#/for}
  </tbody>
</table>

しかし、ページをレンダリングすると、説明列にHTMLのレンダリングではなくタグ(またはエンコードされたタグ)が表示されます。

&lt; table border = 0 width = valign = top cellpadding = 2 cellspacing = 7&gt;&lt; tr&gt;&lt; td width = 80 align = center valign = top&gt;&lt; font style = "font-size :85%; font-family:arial、sans-serif "&gt;...。

また、サーバー側でhtmlをデコードする場合は、以下を参照してください。

<table border = 0 width = valign = top cellpadding = 2 cellspacing = 7> <tr> <td width = 80 align = center valign = top> <font style = "font-size:85%; font-family:arial、 sans-serif">...。

どうしたの?

注:MicrosoftAjaxTemplatesでテストしたところ、同じ問題が発生しましたが、文字列で使用する場合は、$('。desc')。append('any html tag');のように問題ありません。

4

1 に答える 1

2

jTemplates はデフォルトで HTML をエスケープします。次のように、オプションの設定オブジェクトのプロパティを3 番目の引数として変更することで、これを変更できます。

.setTemplate("#template", null, { filter_data: false });

于 2010-08-19T22:57:31.777 に答える