惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Vulnerabilities – Threatpost
U
Unit 42
F
Fortinet All Blogs
aimingoo的专栏
aimingoo的专栏
P
Proofpoint News Feed
F
Full Disclosure
月光博客
月光博客
Engineering at Meta
Engineering at Meta
博客园_首页
The Register - Security
The Register - Security
G
Google Developers Blog
The Cloudflare Blog
博客园 - Franky
K
Kaspersky official blog
A
Arctic Wolf
Scott Helme
Scott Helme
C
Cisco Blogs
Hugging Face - Blog
Hugging Face - Blog
C
Check Point Blog
NISL@THU
NISL@THU
AI
AI
D
DataBreaches.Net
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Stack Overflow Blog
Stack Overflow Blog
Project Zero
Project Zero
The GitHub Blog
The GitHub Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
Vercel News
Vercel News
T
Tor Project blog
P
Privacy International News Feed
D
Docker
I
Intezer
L
LangChain Blog
P
Proofpoint News Feed
Security Latest
Security Latest
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
博客园 - 聂微东
AWS News Blog
AWS News Blog
Martin Fowler
Martin Fowler
P
Privacy & Cybersecurity Law Blog
V
V2EX
Last Week in AI
Last Week in AI
C
Cybersecurity and Infrastructure Security Agency CISA
The Hacker News
The Hacker News
T
Tenable Blog
Blog — PlanetScale
Blog — PlanetScale
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog

博客园 - zhuzhipeng

工作难找,我在江心洲摆野串,靠一个工具活下来了 约课系统-约刻 Mysql数据库导出数据字典文档Word或者HTML的3个工具 Linux 中 FTP的安装、apache安装并且设置apache的根目录为ftp用户的根目录 mysql中查看所有表、表字段、表注释、字段注释 mybatis-generator自动生成代码插件使用详解 CentOS7安装MySQL maven远程下载失败 手动导包到本地仓库 Linux文件权限一:普通权限(rwx) Git 恢复本地误删的文件 Windows安装Redis(转!) Git忽略已经提交过一次文件Git忽略文件 Intellij IDEA调试功能使用总结(step over / step into / force step into/step out等) Maven配置阿里云中心仓库 微信公众号分享时,提示invalid signature,签名错误 简单请求,复杂请求 ubuntu所有php扩展php-7.0扩展列表 Spring Boot整合UEditor不修改源码 Springboot中IDE支持两种打包方式,即jar包和war包
beetl模版for循环渲染字符串
zhuzhipeng · 2019-08-23 · via 博客园 - zhuzhipeng

beetl for循环渲染html字符串的方式,

beetl if条件判断输出,

beet自定义标签和标签引用,

beetl html赋值,

beetl渲染json,beetl注释、变量定义,

更多文档请到:http://ibeetl.com/guide/#beetl

beetl for输出select option
<select>
@for(item in list){
<option value="${item.id}">${item}</option>
@}
</select>

beetl for输出ul li html

<ul>
@for(item in list){
<li>${item}</li>
@}
</ul>

beetl定界符和占位符 

  1. @ 和回车换行
  2. #: 和回车换行
  3. <!--: 和 -->
  4. <!--# 和 -->
  5. <? 和 ?>
  6. 占位符--#{ }-##

定界符号里是表达式,如果表达式跟定界符或者占位符有冲突,可以在用 “\” 符号,如

@for(user in users){
    email is ${user.name}\@163.com
@}
${[1,2,3]} //输出一个json列表
${ {key:1,value:2 \}  } //输出一个json map,} 需要加上\

beetl注释

Beetl语法类似js语法,所以注释上也同js一样: 单行注释采用//  多行注视采用/* */

<%
/*此处是一个定义变量*/
var a = 3; //定义一个变量.
 
/* 以下内容都将被注释
%>
<% */ %>

beetl赋值

赋值于html中常用 ${ 服务端的变量 } 来做,这个于jsp是一致的。例如:

<input value="${value}">
<div>${html}</div>

beetl if选择性输出变量格式化

支持三元表达式

${a==1?"ok":''}
${a==1?"ok"}
 
<input type="checkbox" ${a==0? "checked"}>
 
<input  ${a==0?"readonly"} />
 
<select>
  <option ${a==1?"selected"}>hello</option>
  <option>world</option>
</select>

beetl标签函数

 如果共用一个模版html

方法一:
<%
    layout("/temlet/layout.html"){
%>
//这里可以写上html
<% } %>
 
方法二:
@layout("/temlet/layout.html"){
    //这里可以写上html
@}

允许 include 另外一个模板文件

<%
include("/inc/header.html"){}
%>

自定义HTML标签

<#button name="提交" handle="add()"/>
 
file: /* button.tag */
 
<button onclick="${handle}">${name}</button>