ホームページ > バックエンド開発 > Golang > 問題をエスケープせずに Go テンプレートへの HTML と JSON の挿入を処理する方法は?

問題をエスケープせずに Go テンプレートへの HTML と JSON の挿入を処理する方法は?

DDD
リリース: 2024-10-29 06:45:30
オリジナル
785 人が閲覧しました

How to Handle HTML and JSON Insertion in Go Templates Without Escaping Issues?

Go テンプレートへの HTML および JSON 挿入の処理

Go テンプレートに HTML または JSON を挿入すると、エスケープやその他の出力形式の問題が発生する可能性があります。意図した出力を確実に行うには、次のガイドラインに従ってください:

HTML の挿入:

エスケープを防ぐために、文字列の代わりに template.HTML を使用します。例:

<code class="go">tplVars := map[string]interface{}{
    "Html": template.HTML("<p>Paragraph</p>"),
}</code>
ログイン後にコピー

JSON の挿入:

JSON データをインターフェース値として渡します。{}例:

<code class="go">type Data struct {
    Html  string
    Json  interface{}
}</code>
ログイン後にコピー

テンプレート内:

<code class="go">{{.Data.Html}} {{.Data.Json}}</code>
ログイン後にコピー

補足:

  • template.HTML を使用すると、HTML エンティティが保持され、適切なレンダリングが保証されます。
  • JSON データをインターフェースとして直接渡すことで、不必要な型変換や自動エスケープを防ぐことができます。
  • 実行可能な例については、提供されているリンクを参照してください: https://play.golang .org/p/QKKpQJ7gIs

以上が問題をエスケープせずに Go テンプレートへの HTML と JSON の挿入を処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート