当前位置: 首页 > news >正文

郑州企业自助建站威海住房和城乡建设厅网站首页

郑州企业自助建站,威海住房和城乡建设厅网站首页,win优化大师,上海网站建设报价书Apache Velocity 概述 Apache Velocity 是一个基于 Java 的模板引擎,它允许将 Java 代码与 HTML、XML 或其他文本格式分离,实现视图与数据的解耦。在 Web 开发中,Velocity 常用于生成动态网页内容;在其他场景下,也可用…

Apache Velocity 概述

Apache Velocity 是一个基于 Java 的模板引擎,它允许将 Java 代码与 HTML、XML 或其他文本格式分离,实现视图与数据的解耦。在 Web 开发中,Velocity 常用于生成动态网页内容;在其他场景下,也可用于生成配置文件、邮件模板等。

代码示例中的 Velocity 使用说明

1. Java 代码部分 (VelocityDemoTest.java)
package com.dkd.test;import com.ruoyi.generator.util.VelocityInitializer;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.Velocity;import java.io.FileWriter;
import java.util.List;/*** @author: jd* @create: 2025-05-06*/
public class VelocityDemoTest {public static void main(String[] args) throws Exception {//1、初始化模版引擎VelocityInitializer.initVelocity();//2、准备模版的数据模型,上下文对象VelocityContext context = new VelocityContext();context.put("message", "张三替换");//创建区域对象Region region = new Region(1L, "上海");context.put("region", region);Region region2 = new Region(2L, "北京");Region region3 = new Region(3L, "广州");List<Region> regionList = List.of(region, region2, region3);context.put("regionList", regionList);//3、Velocity读取模版文件Template template = Velocity.getTemplate("vm/index.html.vm", "UTF-8");//4、Velocity渲染模版,合并输出,创建一个文件输出流FileWriter fileWriter = new FileWriter("D:\\test\\index.html");//将变量渲染到模版,并输出到指定的为止的文件中template.merge(context, fileWriter);fileWriter.close();//关闭流}
}
  • 初始化模板引擎
    • VelocityInitializer.initVelocity():调用自定义的初始化方法对 Velocity 进行必要的配置,例如设置模板文件的加载路径、编码等。
  • 准备数据模型
    • VelocityContext context = new VelocityContext():创建一个 VelocityContext 对象,它是一个数据容器,用于存储要传递给模板的数据。
    • context.put(key, value):将数据放入 VelocityContext 中,其中 key 是在模板中引用该数据的名称,value 是具体的数据对象。在示例中,放入了字符串、自定义对象和对象列表。
  • 读取模板文件
    • Velocity.getTemplate("vm/index.html.vm", "UTF-8"):从指定路径读取模板文件,并指定文件编码为 UTF - 8。
  • 渲染模板并输出
    • FileWriter fileWriter = new FileWriter("D:\\test\\index.html"):创建一个文件输出流,用于将渲染后的内容写入指定文件。
    • template.merge(context, fileWriter):将 VelocityContext 中的数据与模板文件进行合并,将渲染后的内容输出到文件输出流中。
    • fileWriter.close():关闭文件输出流,释放资源。
2. 模板文件部分 (index.html.vm)
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewpoint" content="width=device-width,initial-scale=1.0"><title>Hello World</title>
</head>
<body>
<h5>xxxxxx, ${message}</h5>
## 定义变量,
#set($name = "xxxxxx")
##输出变量
第一种情况:${name} <br>
第二种情况:$name <br>
第三种情况:字符串拼接:${name}Service <br>
<hr>
##获取对象中的属性
$region<br>
区域ID:$region.id<br>
区域名称:$region.regionName<br><hr>
##定义一个集合
#set($list = [11,22,33,44,55,66,77,88,99,100])
#foreach($item in $list)序号[$foreach.count] $item <br>   ## count是从1开始的,  索引是从0开始的索引[$foreach.index] $item <br>
#end
<hr>#foreach($item in $regionList)城市ID:$item.id    ## count是从1开始的,  索引是从0开始的城市名称:$item.regionName <br>#end#set($score = 95)
#if($score>80)优秀#elseif($score>60)良好#else差
#end
</body>
</html>
  • 变量定义与输出
    • #set($name = "xxxxxx"):使用 #set 指令定义一个变量 $name,并赋值为 "xxxxxx"
    • ${name}$name:两种方式都可以输出变量的值。在字符串拼接时,建议使用 ${name} 以避免歧义。
  • 对象属性访问
    • $region:输出对象的字符串表示形式。
    • $region.id$region.regionName:访问对象的属性。需要注意的是,这里的 regionName 可能有误,根据 Java 代码中 Region 类的定义,应该是 name
  • 循环遍历
    • #foreach($item in $list):使用 #foreach 指令遍历集合。$foreach.count 表示当前循环的序号(从 1 开始),$foreach.index 表示当前元素的索引(从 0 开始)。
    • 可以遍历 Java 代码中传递的 $regionList 集合,输出每个元素的属性。
  • 条件判断
    • #if($score>80)#elseif($score>60)#else:使用 #if 指令进行条件判断,根据不同的条件输出不同的内容。

总结

通过 Java 代码将数据传递给 Velocity 模板引擎,模板文件中使用 Velocity 指令进行变量定义、对象属性访问、循环遍历和条件判断,最终生成动态的 HTML 文件。这种方式使得视图和数据分离,提高了代码的可维护性和可扩展性。

http://www.dtcms.com/a/588006.html

相关文章:

  • yfcmf做网站vue企业门户网站模板
  • 微信公众号是在哪个网站做的腾讯文件怎么转换wordpress
  • 如何用织梦cms做网站网站简介 更改
  • 网站域名需要续费的吗济南建设网站制作
  • 怎么查公司网站有没有中文域名wordpress拖曳组件
  • 徐州cms建站模板北京做网站建设的公司
  • 做网站的难点wordpress顶部导航栏怎么创建
  • 怎么做网站地图导航云南小程序开发制作公司
  • 网站建设播放vr视频哈尔滨建站系统报价
  • 付费设计网站易名网
  • 网站域名更改推广普通话手抄报简单漂亮
  • 做军事网站的项目背景外贸网站建设推广培训
  • 长春网站建设4435电子产品网页设计模板
  • 一个主体可以备案几个网站网页游戏大全免费
  • 郑州英语网站建设优酷 做视频网站还能成功吗
  • window7 iis建立网站网站建设中的html页面
  • 自己做网站 有名6免费一键网站
  • 如何挖掘和布局网站关键词烟台招远网站建设
  • 网站运营要会什么技术it外包服务平台
  • 车子网站wordpress 素材站模板
  • 网站 概念设计中国小康建设网站
  • 可以做防盗水印的网站网页设计分为哪些板块
  • 湘潭做网站 去磐石网络建湖网站优化公司
  • 公司建一个网站广东手机网站制作电话
  • 优秀的摄影作品网站网站制作书籍推荐
  • 中文电商网站模板好看到让人久久不忘的电影
  • Java 类高级特性
  • 银川公司做网站咸阳网站建设方案
  • Python 错误类型
  • 中关村在线网站的建设网站建设空心正方形