Documentation
¶
Overview ¶
Package html 提供输出 HTML 内容的解码函数
srv := NewServer()
tpl := template.ParseFiles(...)
srv.Mimetypes().Add("text/html", html.Marshal, html.Unmarshal)
func handle(ctx *web.Context) Responser {
obj := &struct{
HTMLName struct{} `html:"Object"`
Data string
}{}
return Object(200, obj, nil)
}
Index ¶
Constants ¶
View Source
const Mimetype = "text/html"
Variables ¶
This section is empty.
Functions ¶
func InstallLocaleView ¶ added in v0.59.1
InstallLocaleView 声明目录形式的本地化模板
按目录名称加载各个本地化的模板,每个模板之间相互独立,模板内可以包含本地化相关的内容。
提供了以下两个方法:
- t 根据当前的语言(server.Context.LaguageTag)对参数进行翻译;
- tt 将内容翻译成指定语言,语言 ID 由第一个参数指定;
fsys 表示模板目录,如果为空则会采用 s 作为默认值;
func InstallView ¶ added in v0.59.1
InstallView 返回本地化的模板
适合所有不同的本地化内容都在同一个模板中的, 通过翻译函数 t 输出各种语言的内容,模板中不能存在本地化相关的内容。
提供了以下两个方法:
- t 根据当前的语言(server.Context.LanguageTag)对参数进行翻译;
- tt 将内容翻译成指定语言,语言 ID 由第一个参数指定;
fsys 表示模板目录,如果为空则会采用 s 作为默认值;
func Marshal ¶
Marshal 针对 HTML 内容的解码实现
参数 v 可以是以下几种可能:
- *Tpl 采用 Tpl.marshal 进行解析;
- string 或是 []byte 将内容作为 HTML 内容直接输出;
- 其它普通对象,将获取对象的 HTMLName 的 struct tag,若不存在则直接采用类型名作为模板名;
- 其它情况下则是返回 serializer.ErrUnsupported;
Types ¶
type Marshaler ¶
type Marshaler interface {
// MarshalHTML 将对象转换成可用于模板的对象结构
//
// name 表示模板名称;
// data 表示传递给该模板的数据;
MarshalHTML() (name string, data any)
}
Marshaler 自定义 HTML 输出需要实现的接口
当前接口仅适用于由 InstallView 和 InstallLocaleView 管理的模板。
Click to show internal directories.
Click to hide internal directories.