func SetViewsPath(path string) *App {
	ViewsPath = path
	return BeeApp
}
SetViewsPath sets view directory path in beego application.
package beego
import (
	"net/http"
	"os"
	"path"
	"path/filepath"
	"strconv"
	"strings"
	"github.com/astaxie/beego/middleware"
	"github.com/astaxie/beego/session"
)
const VERSION = "1.4.1"
type hookfunc func() error  
var hooks []hookfunc        
type groupRouter struct {
	pattern        string
	controller     ControllerInterface
	mappingMethods string
}
type GroupRouters []groupRouter
func NewGroupRouters() GroupRouters {
	return make(GroupRouters, 0)
}
func (gr *GroupRouters) AddRouter(pattern string, c ControllerInterface, mappingMethod ...string) {
	var newRG groupRouter
	if len(mappingMethod) > 0 {
		newRG = groupRouter{
			pattern,
			c,
			mappingMethod[0],
		}
	} else {
		newRG = groupRouter{
			pattern,
			c,
			"",
		}
	}
	*gr = append(*gr, newRG)
}
func (gr *GroupRouters) AddAuto(c ControllerInterface) {
	newRG := groupRouter{
		"",
		c,
		"",
	}
	*gr = append(*gr, newRG)
}
func AddGroupRouter(prefix string, groups GroupRouters) *App {
	for _, v := range groups {
		if v.pattern == "" {
			BeeApp.Handlers.AddAutoPrefix(prefix, v.controller)
		} else if v.mappingMethods != "" {
			BeeApp.Handlers.Add(prefix+v.pattern, v.controller, v.mappingMethods)
		} else {
			BeeApp.Handlers.Add(prefix+v.pattern, v.controller)
		}
	}
	return BeeApp
}
func Router(rootpath string, c ControllerInterface, mappingMethods ...string) *App {
	BeeApp.Handlers.Add(rootpath, c, mappingMethods...)
	return BeeApp
}
func Include(cList ...ControllerInterface) *App {
	BeeApp.Handlers.Include(cList...)
	return BeeApp
}
func RESTRouter(rootpath string, c ControllerInterface) *App {
	Router(rootpath, c)
	Router(path.Join(rootpath, ":objectId"), c)
	return BeeApp
}
func AutoRouter(c ControllerInterface) *App {
	BeeApp.Handlers.AddAuto(c)
	return BeeApp
}
func AutoPrefix(prefix string, c ControllerInterface) *App {
	BeeApp.Handlers.AddAutoPrefix(prefix, c)
	return BeeApp
}
func Get(rootpath string, f FilterFunc) *App {
	BeeApp.Handlers.Get(rootpath, f)
	return BeeApp
}
func Post(rootpath string, f FilterFunc) *App {
	BeeApp.Handlers.Post(rootpath, f)
	return BeeApp
}
func Delete(rootpath string, f FilterFunc) *App {
	BeeApp.Handlers.Delete(rootpath, f)
	return BeeApp
}
func Put(rootpath string, f FilterFunc) *App {
	BeeApp.Handlers.Put(rootpath, f)
	return BeeApp
}
func Head(rootpath string, f FilterFunc) *App {
	BeeApp.Handlers.Head(rootpath, f)
	return BeeApp
}
func Options(rootpath string, f FilterFunc) *App {
	BeeApp.Handlers.Options(rootpath, f)
	return BeeApp
}
func Patch(rootpath string, f FilterFunc) *App {
	BeeApp.Handlers.Patch(rootpath, f)
	return BeeApp
}
func Any(rootpath string, f FilterFunc) *App {
	BeeApp.Handlers.Any(rootpath, f)
	return BeeApp
}
func Handler(rootpath string, h http.Handler, options ...interface{}) *App {
	BeeApp.Handlers.Handler(rootpath, h, options...)
	return BeeApp
}
func Errorhandler(err string, h http.HandlerFunc) *App {
	middleware.Errorhandler(err, h)
	return BeeApp
}