0

PlayFramework2を使用していますが、HTML エスケープを適切に処理する方法が見つかりません。

テンプレート システムでは、HTML エンティティは既定でフィルター処理されます。
しかし、Backbone.jsで REST リクエストを使用すると、JSON オブジェクトがフィルタリングされません。

ObjectStringplay.libs.Json.toJson(myModel)に変換するために使用します。 したがって、私のコントローラーでは、応答を送信するために使用しています...しかし、ここでは、モデルの属性は保護されていません。 対処法が見つからない…
return ok(Json.toJson(myModel));

2 番目の質問:
テンプレート エンジンはデフォルトで HTML エンティティをフィルター処理します。これは、生のユーザー入力をデータベースに保存する必要があることを意味します。
それは保存動作ですか?

3 番目の質問:
PlayFramework に手動で文字列をエスケープする機能はありますか? 私が見つけたものはすべて、新しい依存関係を追加する必要があります。

ありがとう !

編集: Backbone.jsテンプレート レベルで方法を見つけました: - Underscore.jsテンプレート システムmyBackboneModel.escape('attr');の代わりに使用する オプションも含まれています:エスケープせずにレンダリングしますが、エスケープしてレンダリングします! 効率に注意してください。文字列はレンダリングごとに再エスケープされます。そのため、Backbone .create() を優先する必要があります。myBackboneModel.get('attr');
<%= attr %><%- attr %>

4

1 に答える 1