需求如下:
服务器最多有5个磁盘,至少一个,在修改服务器时需要显示5个磁盘占位,如果那个磁盘占位有信息,就显示
可用如下代码:
<#assign diskindex = 1>
<#list vo.diskSet?if_exists as disk>
<tr>
<td>磁盘${diskindex}:</td>
<td>路径:<input type="text" name="uploadServerVO.diskPathes" value="${disk.path}"/></td>
<td>尺寸:<input type="text" name="uploadServerVO.diskSizes" value="${disk.size}"/></td>
</tr>
<#assign diskindex = diskindex + 1>
</#list>
<#if diskindex<6>
<#list diskindex..5 as i>
<tr>
<td>磁盘${i}:</td>
<td>路径:<input type="text" name="uploadServerVO.diskPathes"/></td>
<td>尺寸:<input type="text" name="uploadServerVO.diskSizes"/></td>
</tr>
</#list>
</#if>
引申一下:
如果一个项目中有多个占位list 的使用,那么可把这段代码重构成一个宏
分享到:
相关推荐
在Java应用中,使用FreeMarker导出Word文档时,经常会遇到列表(list)的嵌套问题,这涉及到数据模型构建、模板设计以及Word文档的格式化。下面我们将详细探讨这个主题。 1. **FreeMarker简介** FreeMarker是一个...
这个“freemark_java_test.rar”压缩包包含了与FreeMarker相关的示例源码,用于演示如何在Java项目中有效利用FreeMarker模板语言。 FreeMarker的核心概念是模板和数据模型。模板是HTML、XML或其他格式的静态文本,...
1. 创建模板文件:使用`.ftl`扩展名创建一个Freemarker模板,模板文件中包含静态文本和动态占位符(如`${}`)。动态占位符用于插入数据模型中的值。 2. 设计模板结构:模板应按照Word文档的结构设计,例如标题、段落...
此外,考虑到性能优化,我们通常会先将图片二进制数据转换成Base64编码,这样在模板中可以直接使用文本形式,减少处理过程中的内存占用。在写入Word文档前,再将Base64解码回原始的二进制流。 最后,使用FreeMarker...
这里 `${}` 中的内容是模板中的占位符,表示将被替换为实际的数据。 接下来,我们需要一个数据模型,例如: ```java Map, Object> dataModel = new HashMap(); dataModel.put("pageTitle", "My Website"); data...
- **`import`**:导入Java类或者方法,使得在模板中可以直接使用,如`<#import "com.example.util.MyUtils" as myUtils>`。 - **`compress`**:用于压缩输出的HTML,去除空格和换行,提高传输效率。 - **`escape`...
- **循环**:使用 `<#list collection as item>` 来遍历集合。 - **包含**:使用 `<#include "file.ftl">` 来包含其他模板文件。 #### 自定义命令 macro FreeMarker 支持自定义命令,通过 `macro` 可以定义新的...
在实际项目中,你可能需要处理更复杂的数据模型,比如嵌套的对象或列表,这可以通过在模板中使用Freemarker的迭代和条件语句来实现。同时,你还可以自定义RTF模板以支持更多的格式化选项,如字体、颜色、列表等。 ...
模板中包含了可替换的占位符,这些占位符由FreeMarker根据数据模型中的值填充。字符串操作在FreeMarker中是通过内置的指令和函数实现的。 1. **字符串拼接**: 在FreeMarker模板中,可以使用`+`运算符来连接字符串...
FreeMarker会在渲染过程中用实际的数据替换这些占位符。例如: ```html <h1>Welcome ${user}! ``` 这里`${user}`会被用户数据模型中的`user`值所替换。 ##### 4. FTL指令 FTL指令类似于HTML标签,但在名称前加上了`...
FreeMarker解析模板并根据数据模型替换模板中的占位符,生成最终的输出。 二、FreeMarker模板语言 FreeMarker的模板语言(Template Language,简称FTL)包含一系列指令和表达式,用于控制模板的逻辑和呈现数据。...
5. **模板解析和数据合并**:使用FreeMarker的`Template`类加载模板文件,然后使用`process`方法将数据模型合并到模板中,生成最终的Word文档。 6. **文件操作**:最后,使用Java的I/O流操作将生成的Word文档写入到...
在本篇文章中,我们将深入探讨FreeMarker的工作原理、主要特点以及如何在实际项目中使用它。 一、FreeMarker的基本概念 1. 模板:模板是FreeMarker的核心,它是HTML或任何其他文本格式的静态部分,其中包含...
Freemarker是一个开源的模板引擎,它用于生成动态HTML、XML或其他格式的文本输出,尤其在Web应用中广泛使用。这个“freemarker-2.3.14”源码包包含了Freemarker 2.3.14版本的全部源代码,对于想要深入理解其工作原理...