`
javatar
  • 浏览: 1704811 次
  • 性别: Icon_minigender_1
  • 来自: 杭州699号
社区版块
存档分类
最新评论

模板应不应该提供set指令

    博客分类:
  • HTTL
 
阅读更多
作为表示层,if(控制页面块是否显示)和forEach(集合迭代)是必需提供的,但set(赋值)指令,会给表示层带来混杂业务逻辑的危险,而宏实现中必需提供set才能处理,好像大部模板语言似乎都提供set,不想效仿它们,却不想因此弱化了构件的功能,思考中...
分享到:
评论
1 楼 javatar 2007-06-23  
最后确定的方案是:分级处理
每个指令均可指定使用范围。
如:using,inner,var,set,default等指令只能在Macro模板中使用。
以保证View模板中不包含业务逻辑。

相关推荐

    codesmith生成实体类简单模板

    模板文件通常以.cst为扩展名,其中包含了用于生成特定代码的指令和变量。 在“实体类模板.cst”这个文件中,我们可以看到模板是如何定义的。一个基本的实体类模板可能包括类的命名、属性的声明以及属性的注释等部分...

    JSP网页模板JSP网页模板JSP网页模板

    4. **保持模板简洁**:模板应专注于展示数据,复杂的逻辑应在后台处理。 5. **版本控制和测试**:对模板进行版本控制,并进行充分的单元测试和集成测试,确保模板在不同环境下表现一致。 总结来说,JSP网页模板是...

    Velocity模板入门DEMO

    2. **#set指令**:这是Velocity中最基本的赋值操作。例如,`#set($name = "John")` 将字符串"John"赋值给变量$name。这个指令允许我们在模板中进行简单的算术和逻辑运算。 3. **$引用**:在模板中,以`$`开头的...

    RISCV-伪指令列表

    RISCV(Reduced Instruction Set Computer - V)是一种开放源代码的指令集架构,旨在提供高效、简洁且可扩展的计算平台。RISC-V指令集包括了基础指令和一些伪指令,以支持软件开发和程序设计。伪指令并非实际硬件...

    Linux指令一周通 (技术图书大系).azw3

    文件格式为azw3,文字版本,可以用kindle阅读,PC端可以用calibre,可以转成epub所有手机阅读软件都支持,对手机的排版支持还不错. 内容目录 第1天 文本操作指令 1.1 ar 指令:创建、修改或...7.18 xset指令:设置x-Windows

    基于jQuery开发的javascript模板引擎-jTemplates

    jTemplates提供了一系列模板指令,如: - `${}`:用于插入变量值。 - `#If...#Else...#EndIf`:条件语句,根据条件决定是否渲染模板块。 - `#For...#EndFor`:循环遍历数组或对象。 - `#Include`:包含其他模板文件...

    SATO打印机指令文档 —— SBPL

    通过上述内容可以看出,SATO打印机指令文档——SBPL提供了极其全面的打印控制命令和功能,不仅涵盖了基础的打印控制,还包括了许多高级特性,如模板管理、自动校验等功能,极大地扩展了打印机的应用范围。...

    freemark模板&模版技术

    总结来说,FreeMarker模板及模版技术提供了一种强大且灵活的方式,将静态模板与动态数据相结合,生成定制化的输出。它的易用性和可扩展性使其在各种Web开发场景中得到广泛应用。通过深入了解和熟练掌握FreeMarker,...

    FreeMarker模板语言API

    它与Java语言紧密结合,但模板设计者并不需要了解Java,只需要熟悉FreeMarker的模板语言。在Android Studio(AS)中,FreeMarker API可以作为构建动态内容的有效工具。 FreeMarker的核心概念包括数据模型、模板和...

    Velocity实现模板(详细步奏)

    2. **指令(Directives)**:例如 `#set`,用于在模板中设置变量。还有其他指令,如 `#if` 用于条件判断,`#foreach` 用于循环,`#include` 用于包含其他模板等。 3. **宏(Macros)**:类似于函数,可以封装可重用...

    ​ Odoo owl学习笔记之七--模板(前端核心内容) 内容 概述 指令 QWeb 模板参考 白色空间 表达评估 静态 h

    1. 表达式应为返回值的简单表达式,不能是声明。 2. 可以在渲染上下文中访问任何对象和调用函数。 3. 使用特殊运算符替代可能会导致XML无效的字符,如`and`、`or`、`gt`等。 **静态HTML节点** 常规HTML节点将直接...

    Velocity模板使用指南中文版

    Velocity 模板语言是 Velocity 的核心,它提供了一系列的指令和变量,用于在模板中插入动态内容。VTL 包括以下基本元素: - **#set**: 分配值给变量,例如 `#set($name = "John")`。 - **#if / #else / #end**: ...

    Velocity模板解析

    在模板中,开发者可以使用特定的指令(如#set、#if、#foreach)来控制流程,并使用$符号来引用Java对象的属性。当Velocity引擎处理模板时,它会将这些指令和变量替换为实际的值,生成最终的输出。 1. **Velocity...

    nvelocity_模板_NVelocity_C#_模板引擎_

    3. **指令(Directives)**:NVelocity提供了多种内置指令,如`#if`, `#foreach`, `#set`等,用于控制模板的逻辑流程。 4. **宏(Macros)**:宏类似于函数,可以在模板中定义并重复使用,用来封装常见或复杂的HTML...

    Velocity--java的模板引擎

    Velocity模板语言(VTL)提供了一系列的指令,如#$、##、#set、#if、#else、#foreach等,用于控制模板的逻辑和数据绑定。例如: - `#$variable`:输出变量的值。 - `#set($var = "value")`:设置变量。 - `#if($...

    velocity开发包vm模板引擎

    VM模板允许开发者使用类似于HTML的标记来插入动态内容,而实际的Java代码则被封装在#set、#if、#foreach等指令中,这样既保持了页面的清晰,又实现了动态数据的绑定。 `velocity-1.6.2.jar` 是Velocity的核心库,...

    基于Java的模板引擎 FreeMarker.zip

    3. **指令**:`#set` 指令用于在模板内部定义变量,`#if` 和 `#else` 用于条件判断,`#foreach` 用于循环遍历集合数据。`#include` 可以嵌入其他模板,`#import` 可以引入公共的宏库。 4. **模板配置**:FreeMarker...

    Zebra打印指令手册.rar

    CPCL提供了更直观的指令,如`PRINT`、`SET FONT`和`BARCODE`。例如,`SET BARCODE 1`可以定义一个条形码,`DRAW TEXT`用于打印文本。CPCL适合那些更喜欢清晰、结构化编程语法的用户。 在提供的压缩文件中: 1. ...

Global site tag (gtag.js) - Google Analytics