diff --git a/mimetype/html/html.go b/mimetype/html/html.go index 83f9ce33..d3a26a00 100644 --- a/mimetype/html/html.go +++ b/mimetype/html/html.go @@ -11,7 +11,7 @@ // // func handle(ctx *web.Context) Responser { // obj := &struct{ -// HTMLName struct{} `html:"Object"` +// XMLName struct{} `html:"Object"` // Data string // }{} // return Object(200, obj, nil) @@ -19,8 +19,8 @@ // // 预定义的模板 // -// 框架本身提供了一些类型的定义,比如 [web.Problem],当作为 html 输出时,其模板名称和数据为由 -// [web.Problem.MarshalHTML] 方法返回,所以用户需要提供对应的模板定义。 +// 框架本身提供了一些数据类型的定义,比如 [web.Problem], +// 用户需要提供由 [web.Problem.MarshalHTML] 返回的模板定义。 // 如果用户还使用了 [server.RenderResponse],那么也需要提供对应的模板定义。 package html @@ -56,11 +56,11 @@ type Marshaler interface { // 参数 v 可以是以下几种可能: // - string 或是 []byte 将内容作为 HTML 内容直接输出; // - 实现了 [Marshaler] 接口,则按 [Marshaler.MarshalHTML] 返回的查找模板名称; -// - 其它普通对象,将获取对象的 HTMLName 的 struct tag,若不存在则直接采用类型名作为模板名; +// - 其它普通对象,将获取对象的 XMLName 的 struct tag,若不存在则直接采用类型名作为模板名; // - 其它情况下则是返回 [mimetype.ErrUnsupported]; func Marshal(ctx *web.Context, v any) ([]byte, error) { if ctx == nil { - panic("不支持该操作") + panic("参数 ctx 不能为空") } switch obj := v.(type) { @@ -121,10 +121,10 @@ func getName(v any) (string, any) { if name := rt.Name(); name != "" { return name, v } - panic(fmt.Sprintf("text/html 不支持输出当前类型 %s", rt.Kind())) + panic(fmt.Sprintf("%s 不支持输出当前类型 %s", Mimetype, rt.Kind())) } - field, found := rt.FieldByName("HTMLName") + field, found := rt.FieldByName("XMLName") if !found { return rt.Name(), v } diff --git a/mimetype/html/html_test.go b/mimetype/html/html_test.go index fc47f018..8b6f6f52 100644 --- a/mimetype/html/html_test.go +++ b/mimetype/html/html_test.go @@ -22,10 +22,10 @@ func TestGetName(t *testing.T) { a := assert.New(t, false) type obj struct { - HTMLName struct{} `html:"t"` + XMLName struct{} `html:"t"` } type obj2 struct { - HTMLName struct{} + XMLName struct{} } type obj3 struct{} diff --git a/mimetype/html/view.go b/mimetype/html/view.go index 21bee42d..dfb3c316 100644 --- a/mimetype/html/view.go +++ b/mimetype/html/view.go @@ -50,7 +50,7 @@ type view struct { // - string 直接输出字符串; // - []byte 直接输出内容; // - Marshaler 将 [Marshaler.MarshalHTML] 返回内容作为输出内容; -// - 其它结构体,尝试读取 HTMLName 字段的 html struct tag 值作为模板名称进行查找; +// - 其它结构体,尝试读取 XMLName 字段的 html struct tag 值作为模板名称进行查找; // // dir 表示是否以目录的形式组织本地化代码; func InstallView(s web.Server, dir bool, fsys fs.FS, glob string) { diff --git a/mimetype/html/view_test.go b/mimetype/html/view_test.go index 45abada9..4cc6a1e6 100644 --- a/mimetype/html/view_test.go +++ b/mimetype/html/view_test.go @@ -48,7 +48,7 @@ func TestInstallView(t *testing.T) { defer s.Close(500 * time.Millisecond) type obj struct { - HTMLName struct{} `html:"t"` + XMLName struct{} `html:"t"` } r := s.Routers().New("def", nil) @@ -80,7 +80,7 @@ func TestInstallDirView(t *testing.T) { defer s.Close(500 * time.Millisecond) type obj struct { - HTMLName struct{} `html:"t"` + XMLName struct{} `html:"t"` } r := s.Routers().New("def", nil)