ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 4.7 内置html标签 Beetl可以很方便的定义类似html的标签,目前内置了如下标签 ~~~properties TAG.html.include= org.beetl.ext.tag.html.IncludeResourceHtmlTag TAG.html.layout= org.beetl.ext.tag.html.LayoutResourceHtmlTag TAG.html.includeFragment= org.beetl.ext.tag.html.IncludeResourceFragmentHtmlTag TAG.html.set= org.beetl.ext.tag.html.SetHtmlTag TAG.html.if= org.beetl.ext.tag.html.IfHtmlTag TAG.html.foreach= org.beetl.ext.tag.html.ForeachHtmlTag ~~~ 如下例子 ~~~html <#html:include file="" arg1="" arg2="" /> <#html:includeFragment file="" fragment="" arg1="" arg2="" /> ~~~ include包含file属性指名一个模板路径,后面若干属性可选,会在子模板里引用 ~~~html <#html:layout parent="" args1 arg2=""> ....... </#html:layout> ~~~ 同layout标签函数,包含必须的parent,指明布局模板路径 html:set, 使用export 设置一个变量名,在此后的同样作用域范围内可以使用此变量名引用这个变量(export和var的区别,前者申明的变量可以在模板后面是使用,而var只能在标签体使用,而$export 则是相当于在模板开始处申明的顶级变量) ~~~html <#html:set value="${usere.age+1}" export="age"/> <#html:set value="${usere.age+1}" $export="age"/> ~~~ html:if,包含test用于测试条件是否为真,如果为真,执行标签体 ~~~html <#html:if test="${condtion}"> </#html:if> ~~~ html:for,通过items申明要循环的变量,通过var申明循环元素的名称,可以申明一个状态,这个与for循环一样,是一个ILoopStatus对象 ~~~html <#html:foreach items="${ [1,5,3] }" var="item"> ${item} </#html:foreach> <#html:foreach items="${[1,5,3]}" var="item,status"> ${status.index}--${item} </#html:foreach> ~~~