beetl模版for循环渲染字符串

本文深入探讨了 Beetl 模板引擎的各种功能,包括 for 循环渲染 HTML 字符串、if 条件判断输出、自定义标签、html 赋值、json 渲染等。同时介绍了 Beetl 的定界符、占位符、注释及变量定义,展示了如何使用 Beetl 进行变量格式化和选择性输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

beetl for循环渲染html字符串的方式,beetl if条件判断输出,beet自定义标签标签引用,beetl html赋值,beetl渲染json,beetl注释变量定义,更多文档请到:http://ibeetl.com/guide/#beetl

beetl for循环 html if tag
beetl for循环

beetl for循环输出

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>

 

### JavaScript 模板字符串的使用方法 #### 单行与多行字符串支持 模板字符串可以轻松实现单行或多行字符串的支持。通过反引号(`)定义的字符串能够跨越多行而无需额外转义字符[^2]。 ```javascript const singleLineString = `这是一个单行字符串`; console.log(singleLineString); const multiLineString = `这是第一行, 这是第二行, 这是第三行。`; console.log(multiLineString); ``` #### 表达式嵌入 模板字符串的核心特性之一是能够在字符串中嵌入表达式,这使得动态生成字符串变得非常简单。只需使用 `${}` 将表达式包裹即可[^1]。 ```javascript let firstName = "John"; let lastName = "Doe"; let fullName = `全名是 ${firstName} ${lastName}`; console.log(fullName); // 输出: 全名是 John Doe ``` #### 动态计算表达式 除了简单的变量替换外,还可以在 `${}` 中执行任意有效的 JavaScript 表达式[^4]。 ```javascript let a = 5; let b = 10; let message = `a 加上 b 的结果是 ${a + b}`; console.log(message); // 输出: a 加上 b 的结果是 15 ``` #### 模板嵌套 模板字符串还支持更高级的功能,比如嵌套调用其他函数或逻辑结构。 ```javascript function greet(name) { return `你好, ${name}`; } let nestedMessage = `${greet('Alice')}! 很高兴见到你.`; console.log(nestedMessage); // 输出: 你好, Alice! 很高兴见到你. ``` #### 获取表单元素值 模板字符串也可以用于处理 DOM 数据或其他输入源的数据[^3]。 ```html <input id="username" type="text"> <script> const usernameInput = document.getElementById('username'); const displayText = () => { return `用户名为: ${usernameInput.value}`; }; console.log(displayText()); // 用户可以根据输入查看实时变化的结果 </script> ``` ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值