首页 > 编程知识 正文

java web框架,javaweb项目

时间:2023-05-04 12:09:18 阅读:142933 作者:2516

我从事过web开发工作,最近发现我写了几乎重复的代码,所以想在项目中添加代码生成器功能。 大致的想法如下。 ()数据模板) )。

构思的情节

这里使用的模块引擎是beetl (国民开发的,官网上有详细的文档。

让我们看看以生成bean java类为例的实现。

bean类文件的模板如下所示。

package #{bean.beanPackage};

//*

* @ author # { bean.bean author } # { bean.bean createtime }

*

*/

public class # { bean.bean class name } extendsabsbean {

参数.属性(for ) {

#

private # { param.type } # { param.name }; //#{param.remark}

参数.属性(for ) {

varfirstchar=str util.substring to (param.name,0,1 );

varfirstchar _ upper=str util.toupper case (first char );

var param name=str util.replace (param.name,firstChar,firstChar_upper );

#

公共字符串获取# { param name } (

return #{param.name};

}

公共void set # { param name } { string # { param.name } }

this.# { param.name }=# { param.name };

}

}

java代码如下所示。

公共类我的生成器{

publicstaticvoidmain (string [ ] args ) throws IOException {。

string root=system.getproperty (user.dir ) ) File.separator 'template; //模板路径

fileresourceloaderresourceloader=newfileresourceloader (root,' utf-8 ' );

配置CFG=配置. default configuration (;

grouptemplategt=new group template (resource loader,cfg );

MyGenerator t=new MyGenerator (;

t.getcodeforbean(gt,'/bean.template ); //

}

//*

*

* @param gt

* @ param文件路径模板路径

*/

privatevoidgetcodeforbean (grouptemplategt,string文件路径) {

template t=gt.get template (file path );

BeanOfBean bean=new BeanOfBean (;

bean.setbeanauthor('Tom );

bean.setbeanclassname (' testbean );

bean.setbeancreatetime(newdate ).toString );

bean.setbean package (com.space.test.bean );

List list=new ArrayList (;

ColumnBean b=new ColumnBean (;

b .设置名称(id ); //字段名称

b.setremark(id ); //字段注释

b .设置类型(string ); //字段类型

ColumnBean b2=new ColumnBean (;

B2.setname('name ); //字段名称

B2 .设置标记(名称); //字段注释

B2.settype(string ); //字段类型

list.add(b );

list.add(B2;

bean.setproperties(list;

t.binding('bean ',bean );

String str=t.render (;

system.out.println(str; //打印生成的代码

}

}

执行后从控制台输出的代码如下所示。

package com.space.test.bean;

//*

* @ authortommonsep 2616336036336059 CST 2016

*

*/

publicclasstestbeanextendsabsbean {

私有字符串id; //id

私有字符串名称; //名称

公共字符串获取

返回id;

}

公共void setid (stringid ) {

this.id=id;

}

公共字符串获取名称

return name;

}

公共void set name (string name ) {

this.name=name;

}

}

总而言之,代码生成器之一实际上是将数据嵌入到模板中,然后嵌入模板引擎进行使用。 或者,自己用代码实现。 这些模板引擎中的每一个都有自己的语法。 当然,效率和优点各不相同。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。