<#compress>
<@override name="title">${brand.name}-商品</@override>
<@override name="viewbody">
<div class="row">
<div class="col-md-12">
<h3 class="page-title">
${brand.name}-商品
<small>${brand.name}-商品管理.</small>
</h3>
<ul class="page-breadcrumb breadcrumb">
<li>
<i class="fa fa-home"></i>
<a href="${ctx}/admin/home">
首页
</a>
<i class="fa fa-angle-right"></i>
</li>
<li>
<a href="${ctx}/admin/brand">
品牌管理
</a>
<i class="fa fa-angle-right"></i>
</li>
<li>
<a href="${ctx}/admin/brand">
${brand.name}-商品列表
</a>
</li>
</ul>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="portlet box light-grey">
<div class="portlet-title">
<div class="caption">
<i class="fa fa-globe"></i>${brand.name}-商品一览表
</div>
</div>
<div class="portlet-body">
<div class="table-toolbar">
<div class="btn-group">
<a id="floor_create" href="${ctx}/admin/commodity/create/${brand.id}" class="btn default green-stripe">
新增 <i class="fa fa-plus"></i>
</a>
<a id="floor_batch_delete" class="btn default yellow-stripe batchdelete"
data-action="${ctx}/admin/commodity/remove/${brand.id}" data-tables="#commodity-list"
data-message="您确认删除所选择的商品信息么?">
删除 <i class="fa fa-ban"></i>
</a>
</div>
</div>
<table class="table table-striped table-bordered table-hover" id="commodity-list">
<thead>
<tr>
<th width="30"><input type="checkbox" name="checkall"></th>
<th width="30">序号</th>
<th style="display: none;">ID</th>
<th style="display: none;">品牌</th>
<th width="80">商品名称</th>
<th width="120">商品描述</th>
<th width="80">图片</th>
<th width="120">图片类型</th>
<th style="text-align: center" width="120">操作</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
</div>
<#--Template-->
<script id="action_template" type="text/x-handlebars-template">
<a href="${ctx}/admin/commodity/edit/{{id}}" class="btn default blue-stripe" title="编辑">
<i class="fa fa-edit"></i>
</a>
<a href="javascript:void(0);" class="btn default yellow-stripe" title="删除" data-hook="remove-action"
data-action="${ctx}/admin/commodity/remove?DATA={{id}}">
<i class="fa fa-trash-o"></i>
</a>
</script>
<script id="priture_template" type="text/x-handlebars-template">
{{#if picture}}
<a href="${ctx}{{picture}}" class="thumbnail fancybox-button" data-rel="fancybox-button">
<img class="" src="${ctx}{{portfolio}}" alt="">
</a>
{{else}}
暂无图片
{{/if}}
</script>
</@override>
<@override name="viewparams">
g.brand = '${brand.id}';
g.actiontpl = '#action_template';
g.prituretpl = '#priture_template';
</@override>
<@override name="viewmodule">commodity_list</@override>
<@extends name="../_basic/main.ftl"></@extends>
</#compress>
1,采用的jsp
2,template是前端模板引擎
template参考文档:
http://www.jq22.com/jquery-info1097
{{}}这是模板引擎的一种格式,检测到它,当中是变量
js的客户端模板,比如vue,angular
script标签是用来引入js文件等资源的,“{{}}”这个是anglar.js里面的双向数据绑定,可以直接获取定义好的数据;具体的可以在极客学院或者慕课网上找,上面有视频
这个是 Angular js 它是一种前台框架,类似于jquery ,它是前台的mvc框架,由ng-app="自己定义的名字"来定义根元素,{{}}是一种取值方式,可以用ng-bind绑定到普通元素上来取值,建议初学的话从最简单开始,Angular js 的最重要的部分是依赖注入和路由,angular js 可以独立于jquery,去找一个api看看吧
jinja2也用双括号,可以直接从后台获得数据。
js的客户端模板。{{}}代表可变量
你这个感觉是jsp,如${ctx}就是jsp的一个框架的模板。
可能用了模板引擎 handlebars,可以去看一下~