[go] html/template 패키지의 템플릿 작성

Golang에서는 html/template 패키지를 사용하여 웹 애플리케이션에서 HTML 템플릿을 생성할 수 있습니다. 이 패키지를 사용하면 동적 데이터를 HTML 템플릿에 삽입할 수 있으며, 보안에 민감한 HTML 출력을 안전하게 처리할 수 있습니다.

템플릿 작성하기

html/template 패키지를 사용하여 템플릿을 작성하는 방법은 다음과 같습니다.

  1. Go 언어의 템플릿 생성: 템플릿 파일에 동적 데이터를 삽입할 부분을 {{}}로 감싸서 표시합니다.

예시:


tmpl, err := template.New("hello").Parse("Hello, {{.Name}}!")

  1. 템플릿에 데이터 전달: 데이터를 템플릿에 전달하기 위해 Execute 메서드를 사용합니다.

예시:

err := tmpl.Execute(os.Stdout, map[string]string{"Name": "World"})
  1. 안전한 HTML 출력: html/template 패키지를 사용하면 HTML 출력을 안전하게 처리할 수 있습니다. 이를 통해 크로스 사이트 스크립팅 (XSS) 공격을 방지할 수 있습니다.

예시:

data := map[string]string{"Name": "<script>alert('XSS attack!')</script>"}
템플릿의 특정 부분에 안전한 HTML 출력을 하려면 템플릿 내에서 {{.Name | html}}와 같이 파이프 기호( )와 html 함수를 사용합니다.

이제, HTML 템플릿을 작성하고 안전하게 데이터를 삽입하여 Golang 애플리케이션을 개발할 수 있게 되었습니다.

더 많은 자세한 정보는 공식 문서를 참고하시기 바랍니다.