`
longgangbai
  • 浏览: 7258190 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

采用velocity根据模块自动生成java类

阅读更多

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.StringWriter;
import java.util.Properties;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;

public class Test ...{
    
private static Properties props = null;    
    
/** *//**
     * 
@param args
     * 
@throws Exception 
     
*/

    
public static void main(String[] args) throws Exception ...{
        
// TODO Auto-generated method stub
        /**//* first, get and initialize an engine */
          VelocityEngine ve 
= new VelocityEngine();
          ve.init();
          
/**//* next, get the Template */
          Template t 
= ve.getTemplate( "src/Action.vm","gb2312" );  
        
//          Template t = ve.getTemplate( "src/Action.vm" );
          
//如果改为上面则出现乱码.
          
          
/**//* create a context and add data */
          VelocityContext context 
= new VelocityContext();
          Object[] classNames
=null;
//              classNames.add("Jgss");
//              classNames.add("Jgfs");
//              classNames.add("Tcfj");
          classNames=prop2List();
          
for(int i=0;i<classNames.length;i++ )...{
          context.put(
"className", classNames[i]);

          
/**//* now render the template into a StringWriter */
          StringWriter writer 
= new StringWriter();
          t.merge( context, writer );
          
          writeJavaFile(classNames[i]
+"Action.java",writer.toString());
        
          
/**//* show the World */
         
// System.out.println( writer.toString() ); 
          }

    }

    
    
    
private static void writeJavaFile(String name, String str) ...{
        
try ...{
            FileWriter fw 
= new FileWriter(new File(name), true);
            BufferedWriter bw 
= new BufferedWriter(fw);

            
// 将读入的字符串写入到文件中
            bw.write(str, 0, str.length());
            bw.flush();
            bw.close();
            fw.close();
        }
 catch (IOException e) ...{
            System.out.println(
"Error-- :" + e.toString());
        }

    }


    
private static void loadProperties()...{
        props 
= new Properties();
        
try ...{
            props.load(Test.
class.getResourceAsStream("action.properties"));
        }
 catch (IOException e) ...{
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

    
    
private static Object[] prop2List()...{
        loadProperties();
        System.out.println(props.size());
        
if(props.isEmpty())  return null;
        Object[] aa 
= props.values().toArray();
        
return aa;
    }

    
    
}




 部分Action.vm代码:

public ActionForward edit$...{className}(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   
throws Exception ...{

  logger.debug(
"--- edit${className} start ---");
  checkToken(request);
  $
...{className}Form $...{className.toLowerCase()}Form = ($...{className}Form)form;

action.properties:

A
=Jaaas
B
=Jbbbs
C
=Tcccs

分享到:
评论

相关推荐

    word源码java-code-generator:代码生成器

    时会自动生成xml,实体类,service、serviceImpl,controller。 项目在使用JPA 时会自动生成 实体类并添加注解,service、serviceImpl,controller。 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下

    JAVA社区交流平台网站

    3.2.3 后台SP Agent Builder代码生成模块设计概述 16 3.3 本章小结 20 第四章 服务生成工具SP Agent Builder的设计与实现 21 4.1 三层XML schema设计与解析模块的设计与实现 21 4.1.1 功能层XML schema的设计 21 ...

    codegen:Java代码生成器

    使用生成器的步骤: 该项目基于maven,codegen模块包含Velocity模板,这些模板生成Spring代码1-访问codegen项目文件夹并执行命令: mvn install 2-访问maven插件文件夹,该文件夹将基于在调用Archetype之后生成的...

    mapper-generator:mybaits velocity模板代码生成工具

    3.项目介绍Oracle数据库生成数据库操作MybatisMapperGeneratorMysql数据库生成数据库操作MybatisMysqlMapperGenerator.java使用的方法使用mvn命令 mvn install -DskipTests生成三个jar包mapper-generator-0.0.1-...

    pig-template:使用 Spring、SpringMVC、MyBatis 创建的 Java 开发模板

    mybatis-model:自动生成的文件都在此模块中 web-base:web应用通用模块 webapp:web应用核心模块 各开源项目及版本 Spring,SpringMVC:4.1.0.RELEASE SpringSecurity:4.0.0.RC1 注意:目前此版本不在Maven库中,请手动...

    网站性能优化 Web开发 JSP java

    2.缓存技术(当数据更新比较快,几秒钟更新一次,或者需要实时反映数据变化,或者页面具有很多种风格,不便于生成静态页面) 页面缓存(局部缓存和全局缓存)(View,html代码) 缺点:不能做到实时更新 优点:比二...

    Java微信小程序商城

    velocity1.7 alisms1.0 quartz2.2.3 mysql5.1.39 前端使用技术 Vue2.5.1 iview layer3.0.3 jquery2.2.4 bootstrap3.3.7 jqgrid5.1.1 ztreev3.5.26 froala_editor1.2.2 iNotify platform-admin ...

    java8源码-asuka::bird:模板提供mybatiscodegenerator功能,程序是图形界面半自动化,修改模板可生成任意语言,任意代码风

    velocity模板引擎在core模块resource目录下,目前仅编辑了一套最简单的适配Java的模板,生成代码后使用的实例可以参考 特别注意 本工具建议使用Java8以上版本运行,springboot与javaFX整合插件使用了开源作者的插件...

    mybatis-plus-generator.rar

    #MyBatis-Plus-Generator ...4. TemplateEnum:模板枚举类,可根据需要选择velocity(*.vm)或者freemarker(*.ftl)模板进行生成 注:大部分配置都已进行注释说明,若需更多自定义配置,请参考官方文档或者源代码。

    emergen:基于Java APT的紧急设计生成器框架

    出现emergen-freemarker和emergen-velocity模块为两个流行的开源模板引擎提供了服务提供者实现,您可以使用它们来生成源。 emergen-processors模块包含实际的APT实现。 使用这些作为您自己的实现的参考。 紧急设计...

    jfinalQ-gencode:jfinalQ对应的代码生成工具

    jfinalQ-gencodejfinalQ代码生成工具采用velocity模版技术可以多表同时生成基于,易学,开发快速,功能强大基于,简洁美观,完美适配移动端:jfinalQ最简化示例:jfinalQ自带代码生成工具:jfinalQ自带tomcat加密...

    积分管理系统java源码-nutwxProject:测试

    积分管理系统java源码 ...模块化版本(分支名:,统一提供代码生成器及IDEA可视化插件) NutzWk v3.x 单应用版本(分支名:,CMS+微信+系统+权限+常用功能封装 beetl/velocity) NutzWk v1.0 传统版(分支名:,velocity 支持IE6)

    java版商城源码下载-wxPlate:测试如上

    架构层面,采用JAVA语言,具备更高的并发能力和大数据能力,采用微服务架构,插件式开发模块化、UI体验更好;另外强大的代码生成器,显着提高开发效率,便于用户二次开发;最大的优势: 插件模式,每个功能模块以...

    java版商城源码下载-H5-:H5-

    架构层面,采用JAVA语言,具备更高的并发能力和大数据能力,采用微服务架构,插件式开发模块化、UI体验更好;另外强大的代码生成器,显着提高开发效率,便于用户二次开发;最大的优势: 插件模式,每个功能模块以...

    积分管理系统java源码-yfwpt:yfwpt

    积分管理系统java源码 NutzWk 开源企业级Java Web开发框架 ...模块化版本(分支名:,统一提供代码生成器及IDEA可视化插件) NutzWk v3.x 单应用版本(分支名:,CMS+微信+系统+权限+常用功能封装 beetl/velocity

    java版商城源码下载-H5-weixin:H5-weixin

    架构层面,采用JAVA语言,具备更高的并发能力和大数据能力,采用微服务架构,插件式开发模块化、UI体验更好;另外强大的代码生成器,显着提高开发效率,便于用户二次开发;最大的优势: 插件模式,每个功能模块以...

    javaweb模板源码下载-h5huodong:此地址项目不再维护,代码迁移至https://github.com/zhangdaiscott

    架构层面,采用JAVA语言,具备更高的并发能力和大数据能力,采用微服务架构,插件式开发模块化、UI体验更好;另外强大的代码生成器,显着提高开发效率,便于用户二次开发;最大的优势: 插件模式,每个功能模块以...

    积分管理系统java源码-englishJar:测试英文jar

    积分管理系统java源码 ...模块化版本(分支名:,统一提供代码生成器及IDEA可视化插件) NutzWk v3.x 单应用版本(分支名:,CMS+微信+系统+权限+常用功能封装 beetl/velocity) NutzWk v1.0 传统版(分支名:,velocity 支持IE6)

    基于SpringBoot+SpringCloud+Mybatis主流框架搭建的分布式敏捷开发系统架构+源代码+文档说明

    框架公共模块,提供相关共用工具类,以及代码生成器,基础配置参数,静态变量等,可**演变成公司专用工具类自行维护**。 &gt; mi-blog [查看部署](https://github.com/MIYAOW/MI-S) 技术博客项目(使用HEXO主题模版,...

    外文翻译 stus MVC

    Tags are one of the things that make Struts unique compared to other frameworks like Velocity. Note: "Think thin" when extending the Action class. The Action class should control the flow and not ...

Global site tag (gtag.js) - Google Analytics