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 サイトの他の関連記事を参照してください。