beego4---web项目结构

简介:

复制代码
app.conf
appname = blog1
httpport = 8080
runmode = dev


controllersmy
package controllersmy //跟外面的包名一致

import (
    "github.com/astaxie/beego"
)

type MainController struct {
    beego.Controller //"github.com/astaxie/beego"包里面的Controller
}

func (c *MainController) Get() {
    //模版
    c.Data["Website"] = "beego.me22222222222"
    c.Data["Email"] = "astaxie@gmail.com"
    c.TplName = "index.tpl"
    c.Data["Truecondition"] = true
    c.Data["falsecondotion"] = false

    type u struct {
        Name string
        Age  int
        Sex  string
    }

    user := &u{
        Name: "name",
        Age:  19,
        Sex:  "",
    }
    c.Data["user"] = user

    nums := []int{1, 2, 3, 4, 5, 6, 7, 8, 9}
    c.Data["nums"] = nums

    //模版变量
    c.Data["tempvalue"] = "tempsssvalue"

    //如果html是安全的,可以直接显示html内容
    c.Data["html"] = "<div>ssss<div>"

    c.Data["pipe"] = "<div>pipe<div>"
}



router.go
package routers

import (
    "blog1/controllersmy"
    "github.com/astaxie/beego"
)

func init() {
    beego.Router("/", &controllersmy.MainController{}) //"blog1/controllersmy"里面的 &controllersmy
}






页面
<!DOCTYPE html>

<html>
<head>
  <title>Beego</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <link rel="shortcut icon" href="" type="image/x-icon" />

  <style type="text/css">
    *,body {
      margin: 0px;
      padding: 0px;
    }

    body {
      margin: 0px;
      font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 14px;
      line-height: 20px;
      background-color: #fff;
    }

    header,
    footer {
      width: 960px;
      margin-left: auto;
      margin-right: auto;
    }

    .logo {
      background-image: url('');
      background-repeat: no-repeat;
      -webkit-background-size: 100px 100px;
      background-size: 100px 100px;
      background-position: center center;
      text-align: center;
      font-size: 42px;
      padding: 250px 0 70px;
      font-weight: normal;
      text-shadow: 0px 1px 2px #ddd;
    }

    header {
      padding: 100px 0;
    }

    footer {
      line-height: 1.8;
      text-align: center;
      padding: 50px 0;
      color: #999;
    }

    .description {
      text-align: center;
      font-size: 16px;
    }

    a {
      color: #444;
      text-decoration: none;
    }

    .backdrop {
      position: absolute;
      width: 100%;
      height: 100%;
      box-shadow: inset 0px 0px 100px #ddd;
      z-index: -1;
      top: 0px;
      left: 0px;
    }
  </style>
</head>

<body>
  <header>
  </header>

  <div class="">
   <!--  通过.语法获取c *MainController,c.Data["user"] = user里面的数据 -->
    {{if .Truecondition}}
    true Truecondition
    {{end}}
  </div>

  <div class="">
    {{.user.Name}};
    {{.user.Age}};
    {{.user.Sex}}
  </div>

  <div class="">
    <!-- 前缀相同使用with进行省略写法 -->
    {{with .user}}
      {{.Name}};
      {{.Age}};
      {{.Sex}};
    {{end}}
  </div>

  <div class="">
    {{.nums}}
    <!-- 循环打印数组 -->
    {{range .nums}}
    {{.}}
    {{end}}
  </div>

  <div class="">
    <!-- 模版变量 ,$a就是一个模版变量,并且赋值了,-->
    {{$a := .tempvalue}}
    {{$a}}
  </div>
  {{.html}}
  {{str2html .html}}<!-- string转成了html -->
  <div class="">
    {{.pipe | htmlquote}}
  </div>
  <div class="">
    {{template "test"}}<!-- 使用模版 -->
  </div>
  <footer>
  </footer>
  

  <script src="/static/js/reload.min.js"></script>
</body>
</html>

{{define "test"}}<!-- 模版定义 -->
<div>
this is temlpe
<div>
{{end}}




main.go
package main

import (
    _ "blog1/routers"
    "github.com/astaxie/beego"
)

func main() {
    beego.Run()
}
复制代码

 


本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/8093733.html,如需转载请自行联系原作者

相关文章
|
5月前
|
Java 应用服务中间件 程序员
eclipes如何导入web项目
eclipes如何导入web项目
46 0
|
8月前
|
移动开发 JavaScript 前端开发
Web APIs (1) - 笔记
严格意义上讲,我们在 JavaScript 阶段学习的知识绝大部分属于 ECMAScript 的知识体系,ECMAScript 简称 ES 它提供了一套语言标准规范,如变量、数据类型、表达式、语句、函数等语法规则都是由 ECMAScript 规定的。浏览器将 ECMAScript 大部分的规范加以实现,并且在此基础上又扩展一些实用的功能,这些被扩展出来的内容我们称为 Web APIs。
64 2
|
8月前
|
存储 消息中间件 JSON
Web APIs (5) - 笔记
能够利用JS操作浏览器,具备利用本地存储实现学生就业表的能力
58 1
|
8月前
|
JavaScript 前端开发
Web APIs (2) - 笔记
学会通过为DOM注册事件来实现可交互的网页特效。 能够判断函数运行的环境并确字 this 所指代的对象 理解事件的作用,知道应用事件的 3 个步骤 学习会为 DOM 注册事件,实现简单可交互的网页特交。
38 2
|
8月前
|
移动开发 JavaScript 前端开发
Web APIs (6) - 笔记
能够利用正则表达式完成小兔鲜注册页面的表单验证,具备常见的表单验证能力。 正则表达式(Regular Expression)是一种字符串匹配的模式(规则)。 使用场景: 例如验证表单:手机号表单要求用户只能输入11位的数字 (匹配)。 过滤掉页面内容中的一些敏感词(替换),或从字符串中获取我们想要的特定部分(提取)等 。
59 1
|
8月前
|
JavaScript 算法 API
Web APIs (4) - 笔记
进一步学习 DOM 相关知识,实现可交互的网页特效 能够插入、删除和替换元素节点 能够依据元素节点关系查找节点 掌握 Date 日期对象的使用,动态获取当前计算机的时间。 ECMAScript 中内置了获取系统时间的对象 Date,使用 Date 时与之前学习的内置对象 console 和 Math 不同,它需要借助 new 关键字才能使用。
57 1
|
8月前
|
JavaScript 前端开发
Web APIs (3) - 笔记
事件流是对事件执行过程的描述,了解事件的执行过程有助于 加深对事件的理解,提升开发实践中对事件运用的灵活度。
37 1
|
8月前
|
前端开发 Java Maven
SpringBoot项目中WEB与Controller的联系--【JSB系列之009】
SpringBoot项目中WEB与Controller的联系--【JSB系列之009】
|
10月前
|
Kubernetes 前端开发 Cloud Native
如何设计一个优秀的 Go Web 项目目录结构
如何设计一个优秀的 Go Web 项目目录结构
578 0
|
JSON NoSQL 关系型数据库
go web 工程脚手架
go web 工程示例,可以作为一些项目工程结构参考,对一些常用功能做了简单封装。支持构建docker镜像。
296 0