Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
guns-vip
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chenjunxiong
guns-vip
Commits
de5e8adc
Commit
de5e8adc
authored
May 07, 2017
by
fsn
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
调研模板引擎,抽象出控制器模板
parent
ca660632
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
216 additions
and
1 deletions
+216
-1
src/main/baseResources/gunsTemplate/Controller.java.btl
+78
-0
src/main/java/com/stylefeng/guns/core/template/config/ControllerConfig.java
+64
-0
src/main/java/com/stylefeng/guns/core/template/engine/GunsEngine.java
+42
-0
src/main/java/com/stylefeng/guns/core/util/ResKit.java
+1
-1
src/main/java/com/stylefeng/guns/core/util/ToolUtil.java
+31
-0
No files found.
src/main/baseResources/gunsTemplate/Controller.java.btl
0 → 100644
View file @
de5e8adc
package
${
packageName
};
@
for
(
import
in
imports
!){
import
${
import
};
@}
/**
*
${
bizChName
}
控制器
*
*
\@
author
fengshuonan
*
\@
Date
${
tool
.
currentTime
()}
*/
\@
Controller
\@
RequestMapping
(
"/${bizEnName}"
)
public
class
${
tool
.
firstLetterToUpper
(
bizEnName
)}
Controller
extends
BaseController
{
private
String
PREFIX
=
"/system/${bizEnName}/"
;
/**
*
跳转到
${
bizChName
}
首页
*/
\@
RequestMapping
(
""
)
public
String
index
()
{
return
PREFIX
+
"${bizEnName}.html"
;
}
/**
*
跳转到添加
${
bizChName
}
*/
\@
RequestMapping
(
"/${bizEnName}_add"
)
public
String
${
bizEnName
}
Add
()
{
return
PREFIX
+
"${bizEnName}_add.html"
;
}
/**
*
跳转到修改
${
bizChName
}
*/
\@
RequestMapping
(
"/${bizEnName}_update"
)
public
String
${
bizEnName
}
Update
()
{
return
PREFIX
+
"${bizEnName}_edit.html"
;
}
/**
*
新增
${
bizChName
}
*/
\@
RequestMapping
(
value
=
"/add"
)
\@
ResponseBody
public
Object
add
()
{
return
super
.
SUCCESS_TIP
;
}
/**
*
${
bizChName
}
详情
*/
\@
RequestMapping
(
value
=
"/detail"
)
\@
ResponseBody
public
Object
detail
()
{
return
null
;
}
/**
*
修改
${
bizChName
}
*/
\@
RequestMapping
(
value
=
"/update"
)
\@
ResponseBody
public
Object
update
()
{
return
super
.
SUCCESS_TIP
;
}
/**
*
删除
${
bizChName
}
*/
\@
RequestMapping
(
value
=
"/delete"
)
\@
ResponseBody
public
Object
delete
()
{
return
SUCCESS_TIP
;
}
}
src/main/java/com/stylefeng/guns/core/template/config/ControllerConfig.java
0 → 100644
View file @
de5e8adc
package
com
.
stylefeng
.
guns
.
core
.
template
.
config
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 控制器模板生成的配置
*
* @author fengshuonan
* @date 2017-05-07 22:12
*/
public
class
ControllerConfig
{
private
String
bizChName
;
private
String
bizEnName
;
private
String
packageName
;
private
List
<
String
>
imports
;
public
ControllerConfig
(){
init
();
}
private
void
init
(){
ArrayList
<
String
>
imports
=
new
ArrayList
<>();
imports
.
add
(
"com.stylefeng.guns.common.controller.BaseController"
);
imports
.
add
(
"org.springframework.stereotype.Controller"
);
imports
.
add
(
"org.springframework.web.bind.annotation.RequestMapping"
);
imports
.
add
(
"org.springframework.web.bind.annotation.ResponseBody"
);
this
.
imports
=
imports
;
this
.
packageName
=
"com.stylefeng.guns.modular.system.controller"
;
}
public
String
getBizChName
()
{
return
bizChName
;
}
public
void
setBizChName
(
String
bizChName
)
{
this
.
bizChName
=
bizChName
;
}
public
String
getBizEnName
()
{
return
bizEnName
;
}
public
void
setBizEnName
(
String
bizEnName
)
{
this
.
bizEnName
=
bizEnName
;
}
public
String
getPackageName
()
{
return
packageName
;
}
public
void
setPackageName
(
String
packageName
)
{
this
.
packageName
=
packageName
;
}
public
List
<
String
>
getImports
()
{
return
imports
;
}
public
void
setImports
(
List
<
String
>
imports
)
{
this
.
imports
=
imports
;
}
}
src/main/java/com/stylefeng/guns/core/template/engine/GunsEngine.java
0 → 100644
View file @
de5e8adc
package
com
.
stylefeng
.
guns
.
core
.
template
.
engine
;
import
com.stylefeng.guns.core.support.BeanKit
;
import
com.stylefeng.guns.core.template.config.ControllerConfig
;
import
com.stylefeng.guns.core.util.ToolUtil
;
import
org.beetl.core.Configuration
;
import
org.beetl.core.GroupTemplate
;
import
org.beetl.core.Template
;
import
org.beetl.core.resource.ClasspathResourceLoader
;
import
java.io.FileOutputStream
;
import
java.io.IOException
;
import
java.util.Properties
;
/**
* guns项目模板生成 引擎
*
* @author fengshuonan
* @date 2017-05-07 22:15
*/
public
class
GunsEngine
{
public
static
void
main
(
String
[]
args
)
throws
IOException
{
Properties
properties
=
new
Properties
();
properties
.
put
(
"RESOURCE.root"
,
""
);
ControllerConfig
controllerConfig
=
new
ControllerConfig
();
controllerConfig
.
setBizChName
(
"测试"
);
controllerConfig
.
setBizEnName
(
"test"
);
ClasspathResourceLoader
resourceLoader
=
new
ClasspathResourceLoader
();
Configuration
cfg
=
new
Configuration
(
properties
);
GroupTemplate
groupTemplate
=
new
GroupTemplate
(
resourceLoader
,
cfg
);
groupTemplate
.
registerFunctionPackage
(
"tool"
,
new
ToolUtil
());
Template
template
=
groupTemplate
.
getTemplate
(
"gunsTemplate/Controller.java.btl"
);
template
.
binding
(
BeanKit
.
beanToMap
(
controllerConfig
));
String
render
=
template
.
render
();
template
.
renderTo
(
new
FileOutputStream
(
"D:\\ideaSpace\\guns\\src\\main\\java\\com\\stylefeng\\guns\\modular\\system\\controller\\TestController.java"
));
System
.
out
.
println
(
render
);
}
}
src/main/java/com/stylefeng/guns/core/util/ResKit.java
View file @
de5e8adc
...
...
@@ -32,7 +32,7 @@ public class ResKit {
* @author fengshuonan
*/
public
static
String
getClassPathFile
(
String
file
)
{
//
return ResKit.class.getClassLoader().getResource(file).getPath();
//
return ResKit.class.getClassLoader().getResource(file).getPath();
return
Thread
.
currentThread
().
getContextClassLoader
().
getResource
(
file
).
getPath
();
}
}
src/main/java/com/stylefeng/guns/core/util/ToolUtil.java
View file @
de5e8adc
...
...
@@ -493,4 +493,34 @@ public class ToolUtil {
}
return
str
;
}
/**
* 当前时间
*
* @author stylefeng
* @Date 2017/5/7 21:56
*/
public
static
String
currentTime
(){
return
DateUtil
.
getTime
();
}
/**
* 首字母大写
*
* @author stylefeng
* @Date 2017/5/7 22:01
*/
public
static
String
firstLetterToUpper
(
String
val
){
return
StrKit
.
firstCharToUpperCase
(
val
);
}
/**
* 首字母小写
*
* @author stylefeng
* @Date 2017/5/7 22:02
*/
public
static
String
firstLetterToLower
(
String
val
){
return
StrKit
.
firstCharToLowerCase
(
val
);
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment