demo java action - jmr-source/doc GitHub Wiki
生成action。
- 模型:shop
当前任务的模型名称是shop,包含一个java实体模型book,book的relation值是one; 我们在模板中会通过<entity>得到它。 关于本demo的模型结构,详细内容请点击:模型结构
-
模板:action.java.jet
-
文件名:${one.Class}Action
我们为这个模型新设了以下属性: Class:头字母大写的名称,可以作为类名或者需要头字母大写的部分,它的值是"Book"。 class:头字母小写的名称,可以作为头字母小写的部分,它的值是"book"。 menu:界面菜单栏的名称,它的值是"book"。
生成的文件:${one.Class}Action
- 扩展名:我们生成的是java实体类,所以扩展名为java
为了得到模型的代码提示,选好jmr文件和对应的模型shop。
-
- 得到entity,它的relation为one,对应的模型为book,新设变量object指向one。
-
- 设置变量Class,作为头子母大写部分,通过object.property("Class")得到,值是Book。
-
- 设置变量class,作为头子母小写部分,通过object.property("class")得到,值是book。
- 使用java:package自动得到当前包名。
- 使用java:class得到类名,类名为任务的文件名:${object.Class}Action的值,为BookAction。
- 使用get得到Class,它的值是Book,用来拼接IBookService和Book这2个类。
运行结果
运行结果
然后调用这个IBookService对象实现方法。采用反射方法封装了业务逻辑。当然,如果不是采用反射方式,也可以通过for迭代object.fields迭代字段进行业务逻辑的处理。
运行结果