Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengendalikan Sisipan HTML dan JSON dalam Templat Go Tanpa Melepaskan Isu?

Bagaimana untuk Mengendalikan Sisipan HTML dan JSON dalam Templat Go Tanpa Melepaskan Isu?

DDD
DDDasal
2024-10-29 06:45:30784semak imbas

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

Mengendalikan Sisipan HTML dan JSON dalam Templat Go

Memasukkan HTML atau JSON ke dalam templat Go boleh membawa kepada penyingkiran dan isu pemformatan output yang lain. Untuk memastikan output yang dimaksudkan, ikut garis panduan ini:

Memasukkan HTML:

Gunakan templat.HTML dan bukannya rentetan untuk mengelakkan melarikan diri. Contoh:

<code class="go">tplVars := map[string]interface{}{
    "Html": template.HTML("<p>Paragraph</p>"),
}</code>

Memasukkan JSON:

Lulus data JSON sebagai nilai antara muka{}. Contoh:

<code class="go">type Data struct {
    Html  string
    Json  interface{}
}</code>

Dalam templat:

<code class="go">{{.Data.Html}} {{.Data.Json}}</code>

Nota Tambahan:

  • Menggunakan templat.HTML mengekalkan entiti HTML dan memastikan pemaparan yang betul.
  • Melalukan data JSON secara langsung sebagai antara muka{} menghalang penukaran jenis yang tidak perlu dan pelarian automatik.
  • Rujuk pautan yang disediakan untuk contoh yang boleh dijalankan: https://play.golang .org/p/QKKpQJ7gIs

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Sisipan HTML dan JSON dalam Templat Go Tanpa Melepaskan Isu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn