`
longgangbai
  • 浏览: 7331365 次
  • 性别: 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

分享到:
评论

相关推荐

    SpringBoot Velocity 代码生成模板

    4. 使用Velocity模板引擎,将解析出的信息填入模板,生成Java源码。 5. 编译生成的Java文件,添加到Spring Boot项目中。 在`demo`这个文件中,可能包含了上述步骤的示例代码或者配置文件。通过学习和理解这个示例,...

    velocity文档(Velocity1.4java开发指南中文版,Velocity1.4模板使用指南中文版中文版)

    Velocity 是一个开源的 Java 模板引擎,它允许开发者将静态页面内容与动态数据分离,使得开发者可以专注于业务逻辑,而设计师则可以专心于页面设计。Velocity1.4 是该引擎的一个版本,发布于较早时期,但其基本原理...

    java 代码生成器(java开发,附加源代码)

    用户可以通过输入如数据库表名、字段信息等参数,自动生成与数据库相关的Java实体类、Mapper接口、XML配置文件、Service和Controller等代码。 以下是使用Java代码生成器时可能会涉及的一些核心知识点: 1. **模板...

    java生成model

    - Spring Data JPA:Spring生态中的一个模块,可以基于Entity类自动创建CRUD操作的Repository接口,无需编写实现。只需定义实体类,其他由Spring Data自动处理。 - Entity Framework (Java版):类似.NET中的Entity ...

    使用Velocity Swing制作的代码生成工具

    【标题】"使用Velocity Swing制作的代码生成工具"是一个基于Java Swing UI框架和Velocity模板引擎开发的代码自动化生成工具。这个工具旨在帮助开发者快速生成符合特定模式的代码,减轻重复劳动,提高开发效率。 ...

    自动生成代码模块注册

    1. **实体类生成**:根据数据库表结构自动生成Java Bean或POJO。 2. **控制器和视图**:在Web开发中,基于RESTful API或MVC模式,自动生成路由和视图代码。 3. **配置文件**:如XML配置文件、YAML文件等,可以根据...

    linyi.rar 使用Velocity生成代码

    综上所述,“linyi.rar 使用Velocity生成代码”是一个利用 Velocity 的能力,结合数据库表结构,自动生成Java代码的实例。这种方法不仅提高了开发效率,也使得代码更规范、一致,有助于团队协作和项目维护。

    Java源代码生成器代码框架:SpringMVCmybatisVelocity

    Java源代码生成器是一种工具,它能够自动生成符合特定设计模式和规范的Java代码,极大地提高了开发效率。在这个特定的项目中,代码框架基于SpringMVC、MyBatis和Velocity这三个核心组件,构建了一个经典的三层架构...

    Java开发的sql生成器

    - **反射API**:用于获取Java类的元数据,如字段名、类型等,辅助SQL语句的生成。 在实际使用中,一个名为"SQL生成器"的压缩包文件可能包含了以下内容: 1. **源代码**:Java类库,实现了上述的功能模块。 2. **...

    velocity demo

    在实际应用中,这类自动生成的代码可以帮助开发者快速搭建项目结构,减少重复工作,提高开发效率。 总的来说,这个“Velocity Demo”很可能是一个集成上述技术的示例项目,旨在演示如何在Java Web开发环境中有效地...

    java代码生成器

    标题中的“java代码生成器”指的就是这样的工具,它可以自动化地生成Java代码。在实际开发过程中,开发者只需要提供必要的信息,如包名、类名、字段名等,代码生成器就会按照预设的规则生成相应的Java源文件。例如,...

    java之表反向生成类

    它们提供了API或命令行工具,根据数据库元数据生成Java实体类、Mapper接口和XML配置文件。这些工具的核心是解析数据库表结构,然后生成符合特定模板的Java代码。 2. **工具使用**: - Hibernate Tools:它提供了一...

    java代码生成器mybatis

    Java代码生成器MyBatis是一种高效实用的工具,它能够帮助开发者自动生成Java源代码,大大简化了基于MyBatis框架的开发工作。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。通过使用代码...

    数据库实体类代码生成

    - **模板引擎**:然后,工具会使用模板引擎(如FreeMarker或Velocity)根据预定义的模板生成Java代码。模板可以定制,以满足不同项目或个人的编码风格。 - **生成实体类**:最后,根据获取的元数据和模板,工具...

    velocity例子

    Velocity是Apache软件基金会的一个开源项目,它是一个基于Java的模板引擎,用于生成动态网页内容。Velocity将业务逻辑与表示逻辑分离,使得开发者可以专注于后端服务的开发,而设计人员则可以自由地创建用户界面。...

    Java 生成静态页

    6. **任务调度**:如果需要定期或者在特定事件(如内容更新)后自动生成静态页,可以使用Java的定时任务框架,如Quartz或Spring的Scheduled Tasks。 7. **版本控制**:静态页的生成过程中可能会涉及多版本管理,...

    Java Bean自动生成系统的设计与实现.zip

    在大型软件开发过程中,手动编写大量的Java Bean类可能会消耗大量时间和精力,因此,Java Bean自动生成系统应运而生,旨在通过自动化的方式减少这种重复性工作,提高开发效率。 设计一个Java Bean自动生成系统需要...

    Java项目公共模块提取

    这些技术栈可以帮助我们快速搭建项目,并提供了许多有用的功能,例如支持中文输入和国际化插件、支持Velocity的插件工具类包等。 在项目中,我们可以使用ExportDB.java来生成Hibernate数据表,可以直接运行,这样...

    自动生成代码

    4. **自动生成代码工具**:这类工具通常基于模板引擎,如Freemarker或Velocity,可以生成Java实体类、Mapper接口和XML配置文件等,根据数据库表结构自动创建对应的代码。这大大减少了手动编写这些基础代码的工作量,...

    测试模板Velocity.docx

    Velocity 模板语言是Apache软件基金会的一个开源项目,旨在提供一个灵活、模块化的模板引擎,可以用于生成静态或动态的文档、报表、邮件等。Velocity 模板语言的核心思想是将数据和模板分离,通过模板引擎将数据插入...

Global site tag (gtag.js) - Google Analytics