mustache模板,用于构造html页面的内容,

前端html代码:

<select name="itemtype" id="itemtype" class="optionlist"></select>
<select name="business" id="business" class="optionlist"></select>
 

前端javascript代码:

<!-- 下拉框模板 -->
<script type="text/x-template" id="selecttmpl">
{{#option}}
<option value="{{value}}">{{text}}</option>
{{/option}}
</script>
$(function() {
  // 模板引擎
  var M = Mustache;   // 获取html页面中的模板x-template的值,根据id定位
  selectmoudle = $("#selecttmpl").html();   // 获取需要赋值的模板
  M.parse(selectmoudle);
  // 通过ajax调用后台接口获取数据  
  iniselectmoudle();
 
}
var iniselectmoudle = function() {
    "iniselectmoudle" : "1"
};
Util.ajax({
url : _settings.iniselectmoudle,
data : requestData,
type : 'POST',
success : function(response) {
// 项目类型下拉
          // 根据select标签的id属性值定位然后赋值
        $('#itemtype').html(M.render(selectmoudle, {
option : response.itemtypeList
}));
// 申报主题下拉
          // 根据后台接口返回的值JSONObject的String字符串类型,根据对应的key获取对应的value值,有些value值是JSONObject组成的list;
$('#business').html(M.render(selectmoudle, {
option : response.constructionpropertyList
}));

          // 可以同时给多个标签赋值           // select控件初始化,模糊搜索
/*
* $(".optionlist").chosen({ disable_search : true });
*/
}
});
}

后台action层业务管理层和service层业务逻辑实施层以及dao层数据访问层的restful接口的代码:

@RestController
@RequestMapping("/zwdtItem")
public class AuditOnlineItemController{
/**
* 咨询页面初始化下拉列表
* @param params 请求参数
* @param request HTTP请求
* @return
*/
@RequestMapping(value = "/iniselectmoudle", method = RequestMethod.POST)
public String iniselectmoudle(@RequestBody String params, @Context HttpServletRequest request) {
try {
log.info("=======开始调用iniselectmoudle接口=======");
JSONObject jsonObject = JSONObject.parseObject(params);
String token = jsonObject.getString("token");
if (ZwdtConstant.SysValidateData.equals(token)) {
JSONObject obj = (JSONObject) jsonObject.get("params"); // 可以根据前端ajax交互传回的参数执行判断执行不同的操作
String iniselectmoudle = obj.getString("iniselectmoudle"); // 获取相关数据以JSONObject组成的list形式返回前端,用于给模板select标签赋值
List<CodeItems> itemtypeListTemp = iCodeItemsService.listCodeItemsByCodeName("并联审批项目类型");
List<JSONObject> itemtypeList = new ArrayList<JSONObject>();
for (CodeItems c : itemtypeListTemp) {
JSONObject objCode = new JSONObject();
objCode.put("value", c.getItemValue());
objCode.put("pId", "0");
objCode.put("text", c.getItemText());
itemtypeList.add(objCode);
} // 调用方法返回由实体类或者JSONObject/Object类组成的ArrayList
List<AuditSpBusiness> businessListTemp = auditOnlineConsultService.findAuditSpBusinessList();
List<JSONObject> businessList = new ArrayList<JSONObject>();
for (AuditSpBusiness auditSpBusiness : businessListTemp) {
JSONObject objCode = new JSONObject();
objCode.put("value", auditSpBusiness.getRowguid());
objCode.put("pId", "0");
objCode.put("text", auditSpBusiness.getBusinessname());
businessList.add(objCode);
} JSONObject dataJson = new JSONObject();
dataJson.put("itemtypeList", itemtypeList);
dataJson.put("businessList", businessList);
return JsonUtils.zwdtRestReturn("1", "初始化下拉列表成功", dataJson.toString());
}
else {
log.info("=======结束调用iniselectmoudle接口=======");
return JsonUtils.zwdtRestReturn("0", "身份验证失败!", "");
}
}
catch (Exception e) {
return JsonUtils.zwdtRestReturn("0", "初始化下拉列表失败:" + e.getMessage(), "");
}
} }

ArrayList是Array的复杂版本,是一种动态数组;

mustache使用的更多相关文章

  1. 微信小程序技术分析:Mustache语法要点总结

    小程序开发的wxml里,用到了Mustache语法.所以,非常有必要把Mustache研究下. 什么是Mustache?Mustache是一个logic-less(轻逻辑)模板解析引擎,它是为了使用户 ...

  2. Javascript模板引擎mustache.js详解

    mustache.js是一个简单强大的Javascript模板引擎,使用它可以简化在js代码中的html编写,压缩后只有9KB,非常值得在项目中使用.本文总结它的使用方法和一些使用心得,内容不算很高深 ...

  3. Mustache 使用总结

    前言: 在分析 jeesite 项目的时候,看到了 Mustache,于是查了下 正文: 1.Mustache 概述 Mustache 是基于 JavaScript 实现的模板引擎,即用来 渲染前台页 ...

  4. Mustache 使用心得总结

    Mustache 使用心得总结 前言: 之前的一个项目里面就有用到这个前台的渲染模版,当时挺忙的也没时间抽空总结一下,刚好上周项目里又用到这个轻量型的渲染模版,真心感觉很好用,因此就总结一下使用心得, ...

  5. mustache模板渲染的基本原理

    mustache.js是一个模板引擎,为开发节省了大量的“人力”,对于初学者,我是从这篇 和这篇 博客接触的,算是对mustache有了初步认识,不得不承认自己还是菜鸟阶段还有太多东西要学,慢慢熟悉. ...

  6. Mustache.js前端模板引擎源码解读

    mustache是一个很轻的前端模板引擎,因为之前接手的项目用了这个模板引擎,自己就也继续用了一会觉得还不错,最近项目相对没那么忙,于是就抽了点时间看了一下这个的源码.源码很少,也就只有六百多行,所以 ...

  7. mustache.js

    mustache.js 是一个 Mustache 模板系统的 JavaScript 实现. Mustache 模板语法的逻辑比较简单.它用于HTML,配置文件,源代码等.它的工作方式是通过通过以哈希值 ...

  8. mustache.js渲染带事件的模板

    http://zccst.iteye.com/blog/2183111 最近遇到这样一个问题,预览内容可点击,问题是通过$.Mustache.render("templateId" ...

  9. Mustache.js使用笔记(内容属于转载总结)

    1.Mustache的语法很简单,用两个大括号标记要绑定的字段即可,“{{}}” Mustache主要的渲染方法为Mustache.render(),该方法有两个参数,第一个为要渲染的模版, 也就是例 ...

  10. mustache模板技术

    一.简介Web 模板引擎是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,通常是标准的 HTML 文档.当然不同的开发语言有不同模板引擎,如 Javascript 下的 Hog ...

随机推荐

  1. Shell sleep指定延迟时间

    可以给时间,让上一条命令执行完毕后,并且退出 sleep 1 睡眠1秒sleep 1s 睡眠1秒sleep 1m 睡眠1分sleep 1h 睡眠1小时

  2. Java 多线程 线程的五种状态,线程 Sleep, Wait, notify, notifyAll

    一.先来看看Thread类里面都有哪几种状态,在Thread.class中可以找到这个枚举,它定义了线程的相关状态: public enum State { NEW, RUNNABLE, BLOCKE ...

  3. scala - fold,aggregate,iterator

    import org.json4s._ import org.json4s.jackson._ import org.json4s.jackson.JsonMethods._ import org.j ...

  4. Ucloud云主机无法yum安装处理办法

    Ucloud云主机在yum安装的时候出现这个提示 执行一下命令 yum --disablerepo=salttestyum-config-manager --disable salttestyum-c ...

  5. poj2406 Power Strings 【KMP】

    Given two strings a and b we define a*b to be their concatenation. For example, if a = "abc&quo ...

  6. POJ 2398 - Toy Storage - [计算几何基础题][同POJ2318]

    题目链接:http://poj.org/problem?id=2398 Time Limit: 1000MS Memory Limit: 65536K Description Mom and dad ...

  7. LightOJ 1030 - Discovering Gold - [概率DP]

    题目链接:https://cn.vjudge.net/problem/LightOJ-1030 You are in a cave, a long cave! The cave can be repr ...

  8. netcat/curl/wget/smb/icmp ping -p/dns/telnet

    通过SMB协议,在目标服务器和主机之间建立网络共享连接,然后将目标服务器上的文件做分享,接着就可以在主机端将分享的文件copy下来啦.操作的命令如下, net use h: \\xxx.xxx.xxx ...

  9. zkSNARK 零知识验证

    参考文献 ZCash7篇,有社区翻译版,但还是推荐看原汁原味的     https://z.cash/blog/snark-explain.html Vitalik3篇,小天才作者我就不介绍了,这三篇 ...

  10. latex中文模板

    \documentclass[UTF8,a4paper,10pt, twocolumn]{ctexart} \usepackage[left=2.50cm, right=2.50cm, top=2.5 ...