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

上海营销型网站制作怎么自己开发网址

上海营销型网站制作,怎么自己开发网址,wordpress静态生成器,深圳网站 建设信科网络velocity-engine-core是什么?Velocity模板引擎的使用 1. 常见的模板引擎2. Velocity 的语法3.Velocity的使用 相信在日常开发中或多或少都听过或者使用过模板引擎,比如熟知的freemarker, thymeleaf等。而模板引擎就是为了实现View和Data分离而产生的。 而…

velocity-engine-core是什么?Velocity模板引擎的使用

      • 1. 常见的模板引擎
      • 2. Velocity 的语法
      • 3.Velocity的使用

相信在日常开发中或多或少都听过或者使用过模板引擎,比如熟知的freemarker, thymeleaf等。而模板引擎就是为了实现View和Data分离而产生的。

而velocity-engine-core正是另一种模板引擎的引入依赖包,它就是Velocity

1. 常见的模板引擎

  • thymeleaf

    是一款用于渲染XML/XHTML/HTML5内容的模板引擎。它也可以 轻易的与Spring MVC等Web框架进行集成作为Web应用的模板引擎。也是springboot推荐的静态资源渲染的引擎。

  • freemarker

    功能与Velocity差不多,但是语法更加强大,使用方便。是非常主流的模板引擎。

  • enjoy

    Enjoy Template Engine 采用独创的 DKFF (Dynamic Key Feature Forward)词法分析算法以及独创的DLRD (Double Layer Recursive Descent)语法分析算法,极大减少了代码量,降低了学习成本,并提升了用户体验

  • velocity

    不仅可以用于界面展示(HTML, XML等)还可以生成输入java代码,SQL语句等文本格式。我们公司就是使用Velocity来做代码的自动生成工具。

2. Velocity 的语法

关键字以 # 开头,变量以 $ 开头

2.1 定义变量

使用 #set 关键字

#set($name = "zhangsan")  
#set(${h} = "hello $name") ##这里的name变量加不加 {} 都可以  
#set($n = "${name}_new")    ##这里的name变量就必须要加上{}了
#set($m = $n)    ##重新赋值,如果有其他操作,需要向上面一样加上 ""#set($p = {}) ##定义对象,Java中的Map  
#set($a = []) ##定义数组,Java中的List#set($v = $person.age)  ##属性引用。 person是一个Java对象。
#set($v = $person.getName())  ##方法引用。
#set($v = $person.getName($type)) ##方法引用(带参数)。

2.2 变量的使用

以 $ 者 ${} 使用变量

#set($name = "zhangsan")   ##定义变量
$name              ##使用变量  
${name}            ##使用变量  
${name}_abc        ##必须加 {}  
abc_$name          ##可以不用加 {}

2.3 循环

使用 #foreach .... #end 使用循环

#set($list = ["北京", "上海", "深圳", "杭州"])    ##定义一个集合  #foreach($item in $list)  热门城市 ---> $item, 排名:[$foreach.count]  #$foreach.index 是从0开始
#end

2.4 if判断

使用 #if(condition) ... #elseif(condition) ... #else ... #end 进行条件判断

#set($value = 1)     ##定义一个变量#if($value == 0)  value的结果是: $!value  
#elseif($value == 1)  value的结果是: $!value  
#else  value的结果大于1  
#end//对象obj不为空才会执行里面的逻辑
#if($obj) ..... #end//对象obj为空才会执行里面的逻辑
#if(!$obj) ..... #end#等于字符串"abc" 才会执行里面的逻辑
if($obj == 'abc') ...... #end

2.5 关系操作符

可以使用 &&(与), ||(或), !(非) 来进行复杂的条件判断

#set($name = "")  
#if(!$name)            ##用于判空,如果是空,则为false, 取反后为true  $!name 的年龄是: 13  
#end  #set($key = "velocity")  
#set($flag = true)  
#set($list = ["北京", "上海"])  
#if($key && $key.contains("v") && $flag && $list.size() > 1)  ## key 不为空并且包含v, flag 为true, list 元素数量大于1  条件成立......  
#end

3.Velocity的使用

3.1 导入依赖

<dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.3</version>
</dependency>

3.2 定义模板

文件名以 .vm 结尾 (例如:hello.vm)

#if($c == 15)-----> hello: $!name
#end#foreach($item in $list)集合中的元素:${item} , 索引:【$foreach.index】
#end$person.name 的 生日是 $person.birthday,年龄是 $person.getAge()

3.3 定义引擎并解析模板

public class VelocityTest {public static void main(String[] args) throws IOException {//1.定义一个模板引擎VelocityEngine ve = new VelocityEngine();ve.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath");ve.setProperty("classpath.resource.loader.class", ClasspathResourceLoader.class.getName());ve.init();//2.指定一个模板Template t = ve.getTemplate("hello.vm");VelocityContext ctx = new VelocityContext();//设置字符串ctx.put("c", 15);ctx.put("name", "velocity");//设置集合List<String> temp = new ArrayList<>();temp.add("北京");temp.add("杭州");temp.add("海南");ctx.put( "list", temp);//设置对象ctx.put("person", new Person("秋官", 30, LocalDate.now()));//合并到模板中, 可以是文件中//FileWriter fw = new FileWriter("demo.html");//t.merge(ctx, fw);//fw.close();StringWriter sw = new StringWriter();t.merge(ctx, sw);System.out.println(sw);}@AllArgsConstructor@Datapublic static class Person {private String name;private int age;private LocalDate birthday;}
}

除此以外,Velocity还提供了 Velocity-Tools工具包,他是Veloctiy下的一个子模块,参考gitee,Veloctiy-Tools主要包含2个部分:GenericTools和VelocityView ,前者提供了一些常用的工具类,比如DateTool, MathTool等等,后者主要是应用于web环境。

像我使用,使用velocity就是用来生成代码,所以导入 velocity-engine-core 就足够了,也没有导入springboot集成的velocity starter。

http://www.yayakq.cn/news/615570/

相关文章:

  • 网站建设邯郸网站建设安全制度图片
  • 唐河微网站开发江苏建设信息电子证查
  • 智慧团建官方网站建筑方案设计流程
  • 中山市 做网站本地网站源码
  • 做指甲的网站叫什么名字来着html5播放器
  • 德惠网站建设北京企业网页制作
  • 雄安智能网站建设公司产品推广文案
  • 做外汇看哪些网站买网站不给我备案
  • 企业网站属于下面哪种媒体类型苏州高端网站建设kgwl
  • 网站留言板作用观澜网站制作
  • 网站的标签怎么修改衡阳市网站建设
  • 阜阳制作网站公司企业网站如何推广
  • 做网站的上市公司软件页面设计用哪个软件比较好
  • 网站策划书免费海南省海口市龙华区
  • 学校网站建设板块分析科技网站域名
  • 建设银行网站上怎么查看账户wordpress百度seo
  • 张家港做网站多少钱做网站模板 优帮云
  • 重庆网站建设哪家做的好wordpress主题去除授权
  • 做一个简单的网站现在做推广的新渠道有哪些
  • 建站平台 discuz制造企业网站的建设目标
  • 冷水江网站定制seo云优化下载
  • 游戏网站怎么做seo凡科建站建网站
  • 网站建设合同属于承揽合同吗百度收录申请入口
  • 天津网络网站制作公司鲜花网站建设图片
  • 农业产品如何建网站网站关键词建设
  • 用织梦做的网站怎么管理wordpress html模式
  • 网站被别的域名绑定漳州网站开发去博大钱少a
  • 外贸 礼品 网站网站建设飠金手指科杰十二
  • 做秩序册的网站徐州网站seo公司
  • 服装商城网站建设方案申请云应用wordpress