Go テンプレートを使用して HTML をレンダリングすると、出力に "ZgotmplZ" というわかりにくい表示が現れることがあります。このあいまいな値は、CSS や URL などの特定のコンテキストに到達する安全でないコンテンツを実行時に検出する安全対策から生じています。
次の例を考えてみましょう:
このテンプレートは次の内容を生成します。出力:
「ZgotmplZ」の存在は、安全でないコンテンツであることを示しますselected="selected" は CSS コンテキストに到達しました。このようなシナリオに対処するには、「safe」関数と「attr」関数をテンプレート関数マップに追加できます:
これらの関数を使用すると、テンプレートを次のように変更できます:
この変更により、出力は次のようになります。
このソリューションにより、安全でないコンテンツがコンテンツに含まれる前に適切にエスケープされます。出力。安全性を高め、コード構成を維持するために、文字列を他の型 (template.CSS、template.JS、template.URL など) に変換するカスタム関数を定義することも検討できます。
以上がGo テンプレートの出力に「ZgotmplZ」が表示されるのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。