WeMVC Go MVC框架 WeMVC

polaris • 1867 次点击    
这是一个分享于 的项目,其中的信息可能已经有所发展或是发生改变。
WeMVC是一个用go语言开发的简单的高性能MVC框架。它有以下特色: 1. 路由采用 [https://github.com/julienschmidt/httprouter](https://github.com/julienschmidt/httprouter)的 算法并加以适当改进; 2. 特有的Action处理方式:Action方法名的处理采用[Http Method]+[Action Name]方式。例如程序中有个路由规则 wemvc.Route(&#34;/user/:action&#34;, User{}) 。当以GET方式访问http://localhost:8080/user/login时,路由器捕捉到HttpMethod是Get,Action是login,所以执行的方法是GetLogin()。而当POST提交表单时,路由器捕捉到HttpMethod是Post,Action是login,然后执行方法PostLogin()。如果无法找到GetLogin或PostLogin,则执行方法Login(); 3. View借鉴beego框架处理方式,将View编译缓存到内存,实时监控view文件的变化,提高View渲染性能; 4. 友好的WebAPI处理,支持多种输出格式JSON,XML等 5. 支持Session; 6. 支持Filter拦截 7. 支持namespace 8. 支持自定义错误(如404)处理 9. 自动加载配置文件并监视文件改动 示例: <pre class="brush:cpp; toolbar: true; auto-links: false;">package main import &#34;github.com/Simbory/wemvc&#34; type HomeController struct { wemvc.Controller } func (this HomeController) Index() wemvc.ActionResult { return this.Content(&#34;hello world!&lt;br/&gt;&lt;a href=\&#34;/about\&#34;&gt;About&lt;/a&gt;&#34;, &#34;text/html&#34;) } func (this HomeController) GetAbout() wemvc.ActionResult { obj := make(map[string]interface{}) obj[&#34;routeData&#34;] = this.RouteData obj[&#34;headers&#34;] = this.Request.Header return this.Json(obj) } func init() { wemvc.Route(&#34;/&#34;, HomeController{}) wemvc.Route(&#34;/:action&#34;, HomeController{}) } func main() { wemvc.Run(8080); }</pre> 另一个复杂的示例:https://github.com/Simbory/wemvc-sample
授权协议:
Apache
开发语言:
Google Go 查看源码»
操作系统:
跨平台
1867 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传