美文网首页程序员
velocity语句_简易缩进格式化程序

velocity语句_简易缩进格式化程序

作者: 2016晓 | 来源:发表于2017-06-19 17:44 被阅读0次

velocity中常常会写出#foreach #if #else #end等语句,
但由于模板文件中html本身就带有缩进,所以最终的缩进,并不符合velocity语句的含义。当主要针对velocity逻辑阅读时,很不方便。
本文提供一个25行的java程序,用来针对以上关键velocity关键词,进行缩进格式化,效果:


效果

代码:


代码
public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new FileReader("input.html"));
    FileWriter fw = new FileWriter("output.html");
    int nextSpaceNum = 0;
    for (String s = br.readLine(); null != s; s = br.readLine()) {
        s = s.trim();
        int spaceNum = nextSpaceNum;
        if (s.contains("#if") || s.contains("#foreach")) {
            nextSpaceNum++;
        }
        if (s.contains("#end") || s.startsWith("#else")) {
            nextSpaceNum--;
            nextSpaceNum &= (~nextSpaceNum >> 31);
            spaceNum = nextSpaceNum;
        }
        for (int i = 0; i < spaceNum; i++) {
            fw.write("\t");
        }
        if (!s.contains("#end") && s.startsWith("#else")) {
            fw.write("  ");
            nextSpaceNum++;
        }
        fw.write(s + "\n");
    }
    br.close();
    fw.close();
}

相关文章

  • velocity语句_简易缩进格式化程序

    velocity中常常会写出#foreach #if #else #end等语句,但由于模板文件中html本身就带...

  • 前端代码规范

    一、格式化 1、代码缩进 4 个空格字符为一个缩进层级 2、语句结尾 每行语句结束必须使用分号结尾(“:”) 3、...

  • Python - Some rules

    Python 程序大小写敏感 4个空格缩进 # 开头是注释 语句以冒号 : 结尾时,缩进的语句视为代码块

  • Python 2.7 语法-备忘

    Python采用缩进方式,每一行都是一个语句,当语句以冒号“:”结尾时,缩进的语句视为代码块。 Python程序是...

  • Python基础元素语法总结

    一、程序的格式框架 1.缩进 缩进是指每行语句前的空白区域,用来表示Python程序间的包含和层次关系。 一般语句...

  • Python学习笔记 00 基础

    注释:# 采用缩进方式 当语句以冒号 “:” 结尾时,缩进的语句视为代码块。 Python程序是大小写敏感的 Py...

  • 基本语法元素

    1.1程序的格式框架 1.1.1缩进 缩进指每行语句前的空白区域,用来表示python程序间的包含和层次关系。通常...

  • 前端代码规范

    一、格式化 1、缩进层级### 4个空格表示一个缩进 2、语句结尾 行的结尾推荐不省略分号,否则分析器的自动分号插...

  • php Composer sql高亮格式化显示

    jdorn/sql-formatter是一个轻量级的 PHP 类用于格式化 SQL 语句。 它支持自动进行缩进、添...

  • VBA-JC第2节|基本流程控制语句

    最近更新:'2019-05-13' For语句,代码缩进IF语句关系运算符 1. For语句,代码缩进 注意事项:...

网友评论

    本文标题:velocity语句_简易缩进格式化程序

    本文链接:https://www.haomeiwen.com/subject/stcnqxtx.html