2016-06-17 3 views
-4

테이블이 포함 된 HTML 템플릿을 만들려고합니다. 테이블의 각 행은 내가 가지고있는 구조체를 나타내야하며 해당 구조체의 값을 포함해야합니다.골란 HTML 중계기

내가 찾은 유일한 관련 기준은 이것이다 : golang template - how to render templates?

차이가 나는 사전에 테이블의 행 수를 모르는, 그래서 나는의 dyanmic 목록을 반복 할 수 있어야합니다 구조체, 내가 가진 각각의 그런 구조체에 대한 행을 나타내는 템플릿에 해당 값을 채우고 테이블을 나타내는 부모 템플릿에 해당 행을 추가하십시오.

어떻게 이런 일을 할 수 있습니까? 다른 방법도 환영합니다.

답변

3

나는 단지 {{range}}을 찾고 있다고 생각하니, 맞습니까? 예 :

package main 

import "log" 
import "os" 
import "html/template" 

type Highscore struct { 
    Name string 
    Score int 
} 

func main() { 
    const tpl = `<ol> 
{{range .}} 
    <li>{{.Name}} - {{.Score}}</li> 
{{end}} 
</ol> 
` 
    scores := []Highscore{ 
     Highscore{"Steve", 50}, 
     Highscore{"Jim", 40}, 
    } 

    scoreTemplate, err := template.New("scores").Parse(tpl) 
    if err != nil { 
     log.Fatal(err) 
    } 

    err = scoreTemplate.Execute(os.Stdout, scores) 
    if err != nil { 
     log.Fatal(err) 
    } 
}