Golang テンプレート: FuncMap を html/template で使用すると空の応答が生成される

王林
リリース: 2024-02-12 11:24:07
転載
1086 人が閲覧しました

Golang 模板:将 FuncMap 与 html/template 结合使用会产生空响应

Golang のテンプレート エンジンを使用する場合、特定のロジックを処理するためにカスタム関数が必要になることがよくあります。ただし、カスタム関数を html/template パッケージ内の FuncMap と組み合わせると、空の応答が生成されるという奇妙な問題が発生する可能性があります。 PHP エディターの Banana は、この記事でこの問題の原因を紹介し、Golang テンプレート エンジンを正しく使用できるようにするための解決策を提供します。

質問の内容

HTML/テンプレートの使用 template.FuncMap を使用して、HTML フォームの日付フィールドに time 型のフィールドを入力しようとしています。 .Time ですが、私には機能しません。

次のコードは有効です。

リーリー

私のプルーニングされた main 関数、

リーリー

AddTask関数、

リーリー

add_task.html に次のプレースホルダーを置くと、http://localhost:8080/project/1/add-task をクリックしたときに開始日を入力できます。

リーリー

ただし、AddTask() の次の最初の行を置き換えると、

リーリー

を以下の

に置き換えます。 リーリー

add_task.html を次のように変更すると、

リーリー

http://localhost:8080/project/1/add-task にアクセスすると、空の応答が返されます (ただし、200 OK は返されます)

次の質問についても言及しましたが、成功しませんでした。

https://stackoverflow.com/a/35550730/8813473

回避策

@icza がコメントで述べたように、

Template.Execute()受信したエラーにより問題が明らかになります。

エラーが発生します。

テンプレート: "" は不完全または空のテンプレートです

参考

https://www.php.cn/link/949686ecef4ee20a62d16b4a2d7ccca3の答えを変更しました template .New("") Call template.New( "add_task.html") を使用してこの問題を解決します。

最終的なコードは次のとおりです。

リーリー

以上がGolang テンプレート: FuncMap を html/template で使用すると空の応答が生成されるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!