Golang의 템플릿 엔진을 사용할 때 특정 로직을 처리하기 위해 사용자 정의 함수가 필요한 경우가 많습니다. 그러나 html/template 패키지의 FuncMap과 사용자 정의 함수를 결합하면 이상한 문제에 직면할 수 있습니다. 즉, 빈 응답이 생성됩니다. PHP 편집자 Banana는 이 기사에서 이 문제의 원인을 소개하고 Golang 템플릿 엔진을 올바르게 사용할 수 있도록 솔루션을 제공합니다.
Using html/template template.FuncMap
从 time.Time
유형의 필드를 사용하여 HTML 양식에 날짜 필드를 채우려고 하는데 작동하지 않습니다.
다음 코드는 작동합니다.
으아아아내 손질된 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()
에서 오류를 수신하면 문제가 드러났습니다.
오류가 발생했습니다.
template: "" 是一个不完整或空的模板
https://www.php.cn/link/949686ecef4ee20a62d16b4a2d7ccca3 답변을 참고하여 문제를 해결하기 위해 template .New("")
调用 template.New("add_task.html")
을 변경했습니다.
최종 코드는 다음과 같습니다
으아아아위 내용은 Golang 템플릿: html/템플릿과 함께 FuncMap을 사용하면 빈 응답이 생성됩니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!