viewhandler

package
v1.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 27, 2026 License: Apache-2.0 Imports: 12 Imported by: 0

README

ViewHandler

视图展示处理器,给定view路径或fs,自动渲染内容

使用方法

直接使用文件路径



h:=NewViewHandler(ViewHandlerConfig{
	ViewDir:           "./views",
	FuncMaps:          funcs,
	ParamName:         "",
	ParamFunc:         nil,
	OptionLayoutFlag:  "",
	OptionIncludeFlag: "",
})
viewHandler.AddLogger(s.l)   //添加日志
viewHandler.FuncMaps = append(viewHandler.FuncMaps, template.FuncMap{
	"link": func(s string) string {
		return utils.KeepHasPrefix(prefix+utils.KeepHasPrefix(s, "/"), "/")
	},
})
viewHandler.InitiateRender()

使用embed.FS文件


//go:embed "./views"
var viewFs embed.FS

h:=NewViewHandler(ViewHandlerConfig{
	ViewDir:           "./views",
	ViewFs:           "./views",
	FuncMaps:          funcs,
	ParamName:         "",
	ParamFunc:         nil,
	OptionLayoutFlag:  "",
	OptionIncludeFlag: "",
})

注意点

  • 无法跨文件使用 {{define "xx"}} 定义的模板,建议直接定义对应模板文件进行引入

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultViewHandlerConfig = ViewHandlerConfig{
	ParamName: "name",
}

DefaultViewHandlerConfig 默认配置

Functions

This section is empty.

Types

type ViewHandler

type ViewHandler struct {
	ViewHandlerConfig

	v1log.InvokeLog
	// contains filtered or unexported fields
}

ViewHandler viewHandler

func NewViewHandler

func NewViewHandler(cnf ViewHandlerConfig) *ViewHandler

func (*ViewHandler) GinRouter

func (h *ViewHandler) GinRouter(r gin.IRouter, prefix string)

GinRouter 推荐的ginRouter配置

func (*ViewHandler) GinRouterJump

func (h *ViewHandler) GinRouterJump(r *gin.Engine, prefix string)

GinRouterJump GinRouter之外增加默认跳转

func (*ViewHandler) IncludeFilePrefix added in v1.0.4

func (h *ViewHandler) IncludeFilePrefix() string

IncludeFilePrefix 加载文件前缀

func (*ViewHandler) InitiateRender

func (h *ViewHandler) InitiateRender()

InitiateRender 初始化渲染器

func (*ViewHandler) LayoutFilePrefix

func (h *ViewHandler) LayoutFilePrefix() string

LayoutFilePrefix 布局文件前缀

func (*ViewHandler) Render

func (h *ViewHandler) Render() render.HTMLRender

func (*ViewHandler) ServeHTTP

func (h *ViewHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)

func (*ViewHandler) ViewForGin

func (h *ViewHandler) ViewForGin(ctx *gin.Context)

type ViewHandlerConfig

type ViewHandlerConfig struct {
	//视图文件: dir/fs,按优先级加载
	ViewFs  embed.FS //模板渲染的viewFs
	ViewDir string   //模板渲染所在目录

	FuncMaps []template.FuncMap //模板文件迁入的函数map

	ParamName string                       //获取view渲染模板名称的参数名(如name)
	ParamFunc func(r *http.Request) string //定制化获取view渲染模板名称的方法(不存在则默认方式获取)

	//已废弃
	OptionLayoutFlag string //布局文件前缀标志

	//已废弃
	//加载文件前缀标志
	// 如: fs目录为 view/components/* 下的文件都是只作为template引入的文件
	//		则可以设置 OptionIncludeFlag= view/components/ 来只引入这下面的文件作为解析模板用的文件
	OptionIncludeFlag string

	//viewFs目录路径,若引入的fs文件是在某目录下,需要设置FsDir,来确保替换前缀
	//如: views/*.html,则FsDir需要设置为 views
	FsDir string
}

ViewHandlerConfig viewHandler配置

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL