栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

velocity简单入门

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

velocity简单入门

什么是velocity:

Velocity 是一个基于 Java 的模板引擎。它允许任何人使用简单而强大的模板语言来引用 Java 代码中定义的对象。

当 Velocity 用于 Web 开发时,Web 设计人员可以与 Java 程序员并行工作,根据
Model-View-Controller (MVC)
模型开发网站,这意味着网页设计人员可以只专注于创建一个看起来不错的网站,程序员可以只专注于编写一流的代码。Velocity 将 Java
代码与网页分离,使网站在其生命周期内更易于维护,并为Java 服务器页面(JSP) 或PHP提供了可行的替代方案。

Velocity 的功能远远超出了网络领域;例如,它可用于从模板生成 SQL、PostScript 和
XML。它既可以用作生成源代码和报告的独立实用程序,也可以用作其他系统的集成组件。例如,Velocity 为各种 Web
框架提供模板服务,使它们具有视图引擎,便于根据真正的 MVC 模型开发 Web 应用程序。

其他

展示层有JSP、freemaker和velocity。
velocity官方文档:https://velocity.apache.org/engine/2.3/vtl-reference.html#ifelseifelse-output-conditional-on-truth-of-statements

API:
https://velocity.apache.org/engine/2.0/apidocs/org/apache/velocity/Template.html

pom引入依赖


    org.apache.velocity
    velocity
    1.7

一、html里面常用语法: 1、取值
$!{name}
2、if条件判断

只要再html页面内,都可以写语句,要记得结尾

		## 根据结果参数不同去展示不通的内容和样式
		## 两个井号是注释符号
        
            #if($!{result}==0)
            通过
            #else
            失败
            #end
        
3、计算、赋值

假设我么需要对值进行计算或赋值
需要先用赋值#set()赋值操作去计算
如我们需要对后台list数量加1,如下

## 错误的写法:他没法判断你的值类型,你直接后面+1他就当成是字符串拼接了
姓名
## 正确的写法:
姓名
4、循环:
 #foreach($item in $list)
 	$item.name
 	$item.age
 #end

获取循环的序号 $velocityCount
二、 java后端

怎么传入参数:

@Controller
@RequestMapping("/velocity")
public class VelocityController {

    @RequestMapping("/get")
    public void get(HttpServletResponse response){
        Velocity.setProperty(RuntimeConstants.OUTPUT_ENCODING, "UTF-8");
        Velocity.setProperty(RuntimeConstants.INPUT_ENCODING, "UTF-8");
        Velocity.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath");
        Velocity.setProperty("classpath.resource.loader.class", ClasspathResourceLoader.class.getName());
        Velocity.init();
        Template template = Velocity.getTemplate("demo.html", "UTF-8");
        Context context = new VelocityContext();
        response.setContentType("text/html");
        response.setCharacterEncoding("utf-8");
        try(PrintWriter writer = response.getWriter()){
            context.put("name", "张三");
            context.put("age", 25);
            context.put("length", 165);
            template.merge(context,writer);
        }catch (Exception e){
            e.printStackTrace();
        }
    }

}

demo.html




    
    Insert title here
    



表格测试
姓名 年龄 身高
$!{name} $!{age} $!{length}

测试:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1035586.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号