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
c461d04b
Commit
c461d04b
authored
May 09, 2017
by
fsn
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
模板方法模式重构模板引擎生成类
parent
e2fe0ba4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
65 additions
and
29 deletions
+65
-29
src/main/java/com/stylefeng/guns/core/template/engine/SimpleTemplateEngine.java
+51
-0
src/main/java/com/stylefeng/guns/core/template/engine/base/AbstractTemplateEngine.java
+1
-1
src/main/java/com/stylefeng/guns/core/template/engine/base/GunsTemplateEngine.java
+10
-26
src/test/java/com/stylefeng/guns/template/TemplateGenerator.java
+3
-2
No files found.
src/main/java/com/stylefeng/guns/core/template/engine/SimpleTemplateEngine.java
0 → 100644
View file @
c461d04b
package
com
.
stylefeng
.
guns
.
core
.
template
.
engine
;
import
com.stylefeng.guns.core.template.engine.base.GunsTemplateEngine
;
import
com.stylefeng.guns.core.util.ToolUtil
;
import
org.beetl.core.Template
;
import
java.io.File
;
import
java.io.FileNotFoundException
;
import
java.io.FileOutputStream
;
/**
* 通用的模板生成引擎
*
* @author fengshuonan
* @date 2017-05-09 20:32
*/
public
class
SimpleTemplateEngine
extends
GunsTemplateEngine
{
@Override
protected
void
generatePageHtml
()
{
Template
pageTemplate
=
groupTemplate
.
getTemplate
(
"gunsTemplate/page.html.btl"
);
configTemplate
(
pageTemplate
);
String
pagePath
=
ToolUtil
.
format
(
super
.
getContextConfig
().
getProjectPath
()
+
super
.
getPageConfig
().
getPagePathTemplate
(),
super
.
getContextConfig
().
getBizEnName
(),
super
.
getContextConfig
().
getBizEnName
());
File
file
=
new
File
(
pagePath
);
File
parentFile
=
file
.
getParentFile
();
if
(!
parentFile
.
exists
()){
parentFile
.
mkdirs
();
}
try
{
pageTemplate
.
renderTo
(
new
FileOutputStream
(
file
));
}
catch
(
FileNotFoundException
e
)
{
e
.
printStackTrace
();
}
System
.
out
.
println
(
"生成页面成功!"
);
}
@Override
protected
void
generateController
()
{
Template
controllerTemplate
=
super
.
groupTemplate
.
getTemplate
(
"gunsTemplate/Controller.java.btl"
);
configTemplate
(
controllerTemplate
);
String
controllerPath
=
ToolUtil
.
format
(
super
.
getContextConfig
().
getProjectPath
()
+
super
.
getControllerConfig
().
getControllerPathTemplate
(),
ToolUtil
.
firstLetterToUpper
(
super
.
getContextConfig
().
getBizEnName
()));
try
{
controllerTemplate
.
renderTo
(
new
FileOutputStream
(
controllerPath
));
}
catch
(
FileNotFoundException
e
)
{
e
.
printStackTrace
();
}
System
.
out
.
println
(
"生成控制器成功!"
);
}
}
src/main/java/com/stylefeng/guns/core/template/engine/AbstractTemplateEngine.java
→
src/main/java/com/stylefeng/guns/core/template/engine/
base/
AbstractTemplateEngine.java
View file @
c461d04b
package
com
.
stylefeng
.
guns
.
core
.
template
.
engine
;
package
com
.
stylefeng
.
guns
.
core
.
template
.
engine
.
base
;
import
com.stylefeng.guns.core.template.config.ContextConfig
;
import
com.stylefeng.guns.core.template.config.ContextConfig
;
import
com.stylefeng.guns.core.template.config.ControllerConfig
;
import
com.stylefeng.guns.core.template.config.ControllerConfig
;
...
...
src/main/java/com/stylefeng/guns/core/template/engine/GunsTemplateEngine.java
→
src/main/java/com/stylefeng/guns/core/template/engine/
base/
GunsTemplateEngine.java
View file @
c461d04b
package
com
.
stylefeng
.
guns
.
core
.
template
.
engine
;
package
com
.
stylefeng
.
guns
.
core
.
template
.
engine
.
base
;
import
com.stylefeng.guns.core.util.ToolUtil
;
import
com.stylefeng.guns.core.util.ToolUtil
;
import
org.beetl.core.Configuration
;
import
org.beetl.core.Configuration
;
...
@@ -6,8 +6,6 @@ import org.beetl.core.GroupTemplate;
...
@@ -6,8 +6,6 @@ import org.beetl.core.GroupTemplate;
import
org.beetl.core.Template
;
import
org.beetl.core.Template
;
import
org.beetl.core.resource.ClasspathResourceLoader
;
import
org.beetl.core.resource.ClasspathResourceLoader
;
import
java.io.File
;
import
java.io.FileOutputStream
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.util.Properties
;
import
java.util.Properties
;
...
@@ -17,9 +15,9 @@ import java.util.Properties;
...
@@ -17,9 +15,9 @@ import java.util.Properties;
* @author fengshuonan
* @author fengshuonan
* @date 2017-05-07 22:15
* @date 2017-05-07 22:15
*/
*/
public
class
GunsTemplateEngine
extends
AbstractTemplateEngine
{
public
abstract
class
GunsTemplateEngine
extends
AbstractTemplateEngine
{
pr
ivate
GroupTemplate
groupTemplate
;
pr
otected
GroupTemplate
groupTemplate
;
public
GunsTemplateEngine
()
{
public
GunsTemplateEngine
()
{
initBeetlEngine
();
initBeetlEngine
();
...
@@ -47,27 +45,13 @@ public class GunsTemplateEngine extends AbstractTemplateEngine {
...
@@ -47,27 +45,13 @@ public class GunsTemplateEngine extends AbstractTemplateEngine {
template
.
binding
(
"context"
,
super
.
getContextConfig
());
template
.
binding
(
"context"
,
super
.
getContextConfig
());
}
}
public
void
start
()
throws
IOException
{
public
void
start
()
{
//初始化控制器模板
generateController
();
Template
controllerTemplate
=
groupTemplate
.
getTemplate
(
"gunsTemplate/Controller.java.btl"
);
generatePageHtml
();
configTemplate
(
controllerTemplate
);
String
controllerPath
=
ToolUtil
.
format
(
super
.
getContextConfig
().
getProjectPath
()
+
super
.
getControllerConfig
().
getControllerPathTemplate
(),
ToolUtil
.
firstLetterToUpper
(
super
.
getContextConfig
().
getBizEnName
()));
controllerTemplate
.
renderTo
(
new
FileOutputStream
(
controllerPath
));
System
.
out
.
println
(
"生成控制器成功!"
);
//初始化主页面html
Template
pageTemplate
=
groupTemplate
.
getTemplate
(
"gunsTemplate/page.html.btl"
);
configTemplate
(
pageTemplate
);
String
pagePath
=
ToolUtil
.
format
(
super
.
getContextConfig
().
getProjectPath
()
+
super
.
getPageConfig
().
getPagePathTemplate
(),
super
.
getContextConfig
().
getBizEnName
(),
super
.
getContextConfig
().
getBizEnName
());
File
file
=
new
File
(
pagePath
);
File
parentFile
=
file
.
getParentFile
();
if
(!
parentFile
.
exists
()){
parentFile
.
mkdirs
();
}
pageTemplate
.
renderTo
(
new
FileOutputStream
(
file
));
System
.
out
.
println
(
"生成页面成功!"
);
}
}
protected
abstract
void
generatePageHtml
();
protected
abstract
void
generateController
();
}
}
src/test/java/com/stylefeng/guns/template/TemplateGenerator.java
View file @
c461d04b
package
com
.
stylefeng
.
guns
.
template
;
package
com
.
stylefeng
.
guns
.
template
;
import
com.stylefeng.guns.core.template.config.ContextConfig
;
import
com.stylefeng.guns.core.template.config.ContextConfig
;
import
com.stylefeng.guns.core.template.engine.GunsTemplateEngine
;
import
com.stylefeng.guns.core.template.engine.SimpleTemplateEngine
;
import
com.stylefeng.guns.core.template.engine.base.GunsTemplateEngine
;
import
java.io.IOException
;
import
java.io.IOException
;
...
@@ -18,7 +19,7 @@ public class TemplateGenerator {
...
@@ -18,7 +19,7 @@ public class TemplateGenerator {
contextConfig
.
setBizChName
(
"测试"
);
contextConfig
.
setBizChName
(
"测试"
);
contextConfig
.
setBizEnName
(
"test"
);
contextConfig
.
setBizEnName
(
"test"
);
GunsTemplateEngine
gunsTemplateEngine
=
new
Guns
TemplateEngine
();
GunsTemplateEngine
gunsTemplateEngine
=
new
Simple
TemplateEngine
();
gunsTemplateEngine
.
setContextConfig
(
contextConfig
);
gunsTemplateEngine
.
setContextConfig
(
contextConfig
);
gunsTemplateEngine
.
start
();
gunsTemplateEngine
.
start
();
}
}
...
...
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