gpt4 book ai didi

templates - Go:在模板文件中打印 URI(echo 框架)

转载 作者:IT王子 更新时间:2023-10-29 02:16:03 25 4
gpt4 key购买 nike

我正在使用 echo 框架。尝试将 URI :mynumber 打印为模板文件中的变量时,我卡住了。

除了 URI :mynumber 之外的所有变量都工作正常。我不知道如何将 :mynumberName & Age

一起包括在内

下面是我的server.go:

package main

import (
"github.com/labstack/echo"
"html/template"
"io"
"net/http"
)

type Person struct {
Name, Age, Mynumber string
}

type (
Template struct {
templates *template.Template
}
)

func (t *Template) Render(w io.Writer, name string, data interface{}) error {
return t.templates.ExecuteTemplate(w, name, data)
}

func main() {
e := echo.New()

p := Person{Name: "Mike San", Age: "35"}

t := &Template{
templates: template.Must(template.ParseFiles("public/views/testhere.html")),
}
e.Renderer(t)

e.Get("/testing/:mynumber", func(c *echo.Context) {
c.Render(http.StatusOK, "onlytestingtpl", p)
})

e.Run(":4444")
}

下面是public/views/testhere.html:

{{define "onlytestingtpl"}}My name is {{.Name}}. I'm {{.Age}} years old. My number is {{.Mynumber}}.{{end}}

供您引用,下面是没有模板文件的打印 URI 示例:

package main

import (
"github.com/labstack/echo"
"net/http"
)

func main() {
e := echo.New()

e.Get("/users/:id", func(c *echo.Context) {
id := c.Param("id")
c.String(http.StatusOK, "My number is "+id)
})

e.Run(":4444")
}

最佳答案

您只需根据您的工作示例从 URL 中检索它:

number := c.Param("mynumber")

并将其设置在您传入的 Person 实例上:

p.Mynumber = number

这会导致:

e.Get("/testing/:mynumber", func(c *echo.Context) {
number := c.Param("mynumber")
p.Mynumber = number
c.Render(http.StatusOK, "onlytestingtpl", p)
})

关于templates - Go:在模板文件中打印 URI(echo 框架),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29958132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com