zoukankan      html  css  js  c++  java
  • 使用mustache.js 模板引擎输出html

    看了https://mustache.github.io/你就知道mustache是非常强大的模板引擎,支持多种语言,下面是个简单入门例子:

    MVC Model

     public class StudentModel
        {
            [Key]
            public int StuId { get; set; }
    
            [Display(Name = "姓名")]
            [StringLength(50)]
            [Required(ErrorMessage = "姓名必填")]
            public string StuName { get; set; }
             [StringLength(250)]
            [Display(Name = "住址")]
            [DataType(DataType.MultilineText)]
            //[Required(ErrorMessage = "住址必填")]
            public string Address { get; set; }
    
            [Display(Name = "年龄")]
            [Required(ErrorMessage = "年龄必填")]
            [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:c}")]
            public int Age { get; set; }
        }
    StudentModel

    Mvc5WebContext

     public class Mvc5WebContext : DbContext
        {
            // You can add custom code to this file. Changes will not be overwritten.
            // 
            // If you want Entity Framework to drop and regenerate your database
            // automatically whenever you change your model schema, please use data migrations.
            // For more information refer to the documentation:
            // http://msdn.microsoft.com/en-us/data/jj591621.aspx
        
            public Mvc5WebContext() : base("name=Mvc5WebContext")
            {
            }
    
            public System.Data.Entity.DbSet<Mvc5Web.Models.StudentModel> StudentModels { get; set; }
        
        }
    Mvc5WebContext

    Controller

     public class StudentController : Controller
        {
    public JsonResult JsonList()
            {
                //StudentModel stu = new StudentModel { StuId = 100, StuName = "wilson100", Age = 100, Address = "HG" };
                return Json(db.StudentModels, JsonRequestBehavior.AllowGet);
            }
    }
    View Code

    html模板

    <script id="template" type="text/html">
        <table border="1">
            <tr>
                <th>姓名</th>
                <th>地址</th>
                <th>年龄</th>
            </tr>
            {{#studentLists}}
        <tr>
            <td>{{StuName}}
            </td>
            <td>{{Address}}
            </td>
            <td>{{Age}}
            </td>
        </tr>
            {{/studentLists}}
        </table>
    </script>
    View Code

    Ajax请求进行客户端模板输出

      $("#btnTest").click(function () {
                    $.get("JsonList", function (data) {
                        var template = $('#template').html();
                        Mustache.parse(template);   // optional, speeds up future uses
                        var rendered = Mustache.render(template, { studentLists: data });
                        $('#target').html(rendered);
                    });
                });
    View Code

    mustache.js官方信息

    http://mustache.github.io/

    https://github.com/janl/mustache.js

  • 相关阅读:
    java实现第六届蓝桥杯立方体自身
    Java实现第八届蓝桥杯包子凑数
    Snapshot Standby
    [NOI2014]购票
    DG的数据保护模式
    严格次小生成树
    Java实现第八届蓝桥杯拉马车
    Java实现第八届蓝桥杯拉马车
    Java实现第八届蓝桥杯迷宫
    在物理 Data Guard 中对异构主备系统的支持 (文档 ID 1602437.1)
  • 原文地址:https://www.cnblogs.com/weiweictgu/p/5573010.html
Copyright © 2011-2022 走看看