controller

package
v0.0.0-...-6aeb21f Latest Latest
Warning

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

Go to latest
Published: Aug 10, 2015 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BeforeAfterController

type BeforeAfterController struct {
	// contains filtered or unexported fields
}

before after 演示控制器 需要实现 lv.BeforeAfterController 控制器Before(...)和After(...)函数

func (*BeforeAfterController) After

func (ba *BeforeAfterController) After(context *lv.HttpContext, option *lv.RouterOption)

*

  • after *
  • @param context 固定参数
  • @param option 固定参数

func (*BeforeAfterController) Before

func (ba *BeforeAfterController) Before(context *lv.HttpContext, option *lv.RouterOption) lv.HttpStatus

*

  • before *
  • @param context 固定参数
  • @param option 固定参数
  • @return 根据需求放回状态代码,200通过,其他将会跳转相应的状态页面,也可以返回lv.StatusNil自行响应输出。

func (*BeforeAfterController) Index

func (ba *BeforeAfterController) Index() string

*

  • index

type ParamsController

type ParamsController struct {
	// contains filtered or unexported fields
}

演示控制器参数

func (*ParamsController) Index

func (p *ParamsController) Index() string

index

func (*ParamsController) Param1

func (p *ParamsController) Param1(request *http.Request, rw http.ResponseWriter) string

获取 *http.Request 和 http.ResponseWriter参数

func (*ParamsController) Param2

func (p *ParamsController) Param2(session LVSession.HttpSession) string

获取session

func (*ParamsController) Param3

func (p *ParamsController) Param3(context *leafveingo.HttpContext) string

获取上下文HttpContext

func (*ParamsController) Param4

func (p *ParamsController) Param4(params struct {
	Id   string // id 切记首字母大写,其他与参数匹配 Id = id, ID = ID | iD
	Name string // name
}) string

参数结构的封装

func (*ParamsController) Param5

func (p *ParamsController) Param5(params UserInfo) string

func (*ParamsController) Param6

func (p *ParamsController) Param6() interface{}

页面请求

func (*ParamsController) Param7

func (p *ParamsController) Param7() leafveingo.HtmlOut

页面请求

func (*ParamsController) PostParam6

func (p *ParamsController) PostParam6(params User) string

post 请求打印参数

func (*ParamsController) PostParam7

func (p *ParamsController) PostParam7(params UserBean) string

post 打印集合参数

type PointerController

type PointerController struct {
	// contains filtered or unexported fields
}

before after 演示控制器 运行时注意观察控制台打印的参数地址。

控制器分的指针传递和值传递(lv_reflect_router.go, lv_restful_router.go均已实现)

值传递:
CreateReflectController("/pointer/struct/", PointerController{})
每次请求(http://localhost:8080/pointer/struct/) 都会根据设置的控制器类型新建立一个对象进行处理,直到一次请求周期结束。

指针传递:
CreateReflectController("/pointer/", new(PointerController))
跟值传递相反,每次请求时都会使用设置的控制器地址进行处理,应用结束也不会改变,每次请求控制器都不会改变内存地址
这里涉及到并发时同时使用一个内存地址处理的问题,使用时需要注意

func (*PointerController) After

func (ba *PointerController) After(context *lv.HttpContext, option *lv.RouterOption)

*

  • after *
  • @param context 固定参数
  • @param option 固定参数

func (*PointerController) Before

func (ba *PointerController) Before(context *lv.HttpContext, option *lv.RouterOption) lv.HttpStatus

*

  • before *
  • @param context 固定参数
  • @param option 固定参数
  • @return 根据需求放回状态代码,200通过,其他将会跳转相应的状态页面,也可以返回lv.StatusNil自行响应输出。

func (*PointerController) Index

func (ba *PointerController) Index() string

*

  • index

type ReturnParamController

type ReturnParamController struct {
	// contains filtered or unexported fields
}

控制器返回参数演示

func (*ReturnParamController) Byte

输出 []byte

func (*ReturnParamController) DispTest

func (r *ReturnParamController) DispTest(params struct {
	Info string
}) string

func (*ReturnParamController) Dispatcher

func (r *ReturnParamController) Dispatcher(params struct {
	Info string
}) interface{}

控制器转发

func (*ReturnParamController) File

func (r *ReturnParamController) File() interface{}

文件输出

func (*ReturnParamController) Html

输出text html, Content-Type = text/plain

func (*ReturnParamController) Json

func (r *ReturnParamController) Json(params struct {
	T int
}) interface{}

输出json Content-Type = application/json

func (*ReturnParamController) Redirect

func (r *ReturnParamController) Redirect(params struct {
	Url string
}) interface{}

重定向url

func (*ReturnParamController) Template

func (r *ReturnParamController) Template(params struct {
	Info string
	T    int
}) interface{}

输出模板

func (*ReturnParamController) Text

func (r *ReturnParamController) Text() string

输出 text, Content-Type = text/plain

type RouterController

type RouterController struct {
	// contains filtered or unexported fields
}

高级路由器演示控制器

func (*RouterController) Forum

func (arc *RouterController) Forum(params struct {
	Bid int
	Tid int
}) string

func (*RouterController) ForumJson

func (arc *RouterController) ForumJson(params struct {
	Bid int
	Tid int
}) interface{}

url 后缀为json

func (*RouterController) MD5

func (arc *RouterController) MD5(params struct {
	Md5 string
}) string

func (*RouterController) PostThread

func (arc *RouterController) PostThread(params struct {
	Bid int
	Tid int
	Pid int
}) string

func (*RouterController) Space

func (arc *RouterController) Space(params struct {
	Uid      int
	Username string
}) string

func (*RouterController) Thread

func (arc *RouterController) Thread(params struct {
	Bid int
	Tid int
	Pid int
}) string

type SessionController

type SessionController struct {
	// contains filtered or unexported fields
}

http session 演示控制器

func (*SessionController) Context

func (s *SessionController) Context(context *leafveingo.HttpContext) string

上下文对session的操作

func (*SessionController) Form

演示form token的操作

func (*SessionController) PostForm

func (s *SessionController) PostForm(context *leafveingo.HttpContext) string

演示form token的验证操作

func (*SessionController) Session

func (s *SessionController) Session(sess session.HttpSession) string

基本的获取session

type StatusController

type StatusController struct {
	// contains filtered or unexported fields
}

状态页 演示控制器

func (*StatusController) S403

自定义403模版

func (*StatusController) S500

func (s *StatusController) S500()

500错误

type TemplateController

type TemplateController struct {
	// contains filtered or unexported fields
}

模板演示控制器

func (*TemplateController) Index

func (t *TemplateController) Index() interface{}

default index

type User

type User struct {
	Uid      int      // 用户ID
	UserName string   // 用户名称
	Type     UserType // 用户类型
	Interest []string // 用户的兴趣爱好,集合参数
}

type UserBean

type UserBean struct {
	Users []User
	Tags  []string
}

****** 数组集合参数封装 *******

type UserInfo

type UserInfo struct {
	Id   string
	Name string
}

type UserType

type UserType struct {
	TypeName string //	用户的类型名称
}

****** 嵌套参数结构封装 ******

Jump to

Keyboard shortcuts

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