2016-08-02 11 views
1

n2oとrebar3でWebを書きたいと思っています。 しかし、私は何か間違ったページを取得し、コードはここにあります。erlang n2oレンダリング<スパンid = "

index.erl

​​

prod.dtl

<html > 
<head> 
    <title>{{title}}</title> 
</head> 
<body> 
      {{body}} 
</body> 
</html> 

私は結果を得る:

<html > 
<head> 
    <title></title> 
</head> 
<body> 
      &lt;span id=&quot;display&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;span&gt;Login: &lt;/span&gt;&lt;input id=&quot;user&quot; type=&quot;text&quot; autofocus=&quot;true&quot;/&gt;&lt;br/&gt;&lt;span&gt;Join/Create Feed: &lt;/span&gt;&lt;input id=&quot;pass&quot; type=&quot;text&quot;/&gt;&lt;button id=&quot;loginButton&quot; type=&quot;button&quot;&gt;Login&lt;/button&gt; 
</body> 
</html> 

は、どのように私はいない '& LT' '<' ゲットすることができます

+1

'{{body}}'を '{{body |安全な}} '' prod.etl'の仕事で? – Dogbert

+0

どのバージョンのDTLを使用していますか? N2Oは0.8までサポートされています。新しいバージョンまであなたに。 – 5HT

+0

@Dogbertそれは仕事です....ありがとう – hstcscolor

答えて

0

erlydtl の値をthis commit(さらに#80#120も参照)に自動エスケープする機能が有効になっています。このコミットを含むバージョンを使用している場合(0.9.0以降のようなページから)、手動で値を安全とマークする必要があります。

の代わりに:

{{ body }} 

は行います

{{ body | safe }} 

注:https://en.wikipedia.org/wiki/Cross-site_scripting:あなたは安全なように、信頼できない文字列をマーキングのリスクを認識する必要があります。

関連する問題