Commit 2690c232 by fsn

对主页面html的模板化

parent fa5d5b6a
......@@ -12,7 +12,7 @@ import ${import};
*/
@Controller
@RequestMapping("/${context.bizEnName}")
public class ${tool.firstLetterToUpper(context.bizEnName)}Controller extends BaseController {
public class ${context.bizEnBigName}Controller extends BaseController {
private String PREFIX = "/system/${context.bizEnName}/";
......
@layout("/common/_container.html"){
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>${context.bizChName}管理</h5>
</div>
<div class="ibox-content">
<div class="row row-lg">
<div class="col-sm-12">
<div class="row">
<div class="col-sm-3">
<#NameCon id="condition" name="名称" />
</div>
<div class="col-sm-3">
<#button name="搜索" icon="fa-search" clickFun="${context.bizEnBigName}.search()"/>
</div>
</div>
<div class="hidden-xs" id="${context.bizEnBigName}TableToolbar" role="group">
@if(shiro.hasPermission("/${context.bizEnName}/add")){
<#button name="添加" icon="fa-plus" clickFun="${context.bizEnBigName}.openAdd${context.bizEnBigName}()"/>
@}
@if(shiro.hasPermission("/${context.bizEnName}/update")){
<#button name="修改" icon="fa-plus" clickFun="${context.bizEnBigName}.open${context.bizEnBigName}Detail()" space="true"/>
@}
@if(shiro.hasPermission("/${context.bizEnName}/delete")){
<#button name="删除" icon="fa-plus" clickFun="${context.bizEnBigName}.delete()" space="true"/>
@}
</div>
<#table id="${context.bizEnBigName}Table"/>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="\${ctxPath}/static/modular/system/${context.bizEnName}/${context.bizEnName}.js"></script>
@}
package com.stylefeng.guns.core.template.config;
import com.stylefeng.guns.core.util.ToolUtil;
/**
* 全局配置
*
......@@ -11,6 +13,15 @@ public class ContextConfig {
private String projectPath = "D:\\ideaSpace\\guns";//模板输出的项目目录
private String bizChName; //业务名称
private String bizEnName; //业务英文名称
private String bizEnBigName;//业务英文名称(大写)
public String getBizEnBigName() {
return bizEnBigName;
}
public void setBizEnBigName(String bizEnBigName) {
this.bizEnBigName = bizEnBigName;
}
public String getBizChName() {
return bizChName;
......@@ -26,6 +37,7 @@ public class ContextConfig {
public void setBizEnName(String bizEnName) {
this.bizEnName = bizEnName;
this.bizEnBigName = ToolUtil.firstLetterToUpper(this.bizEnName);
}
public String getProjectPath() {
......
package com.stylefeng.guns.core.template.config;
/**
* 控制器模板生成的配置
*
* @author fengshuonan
* @date 2017-05-07 22:12
*/
public class PageConfig {
private String pagePathTemplate = "\\src\\main\\webapp\\WEB-INF\\view\\system\\{}\\{}.html";
public String getPagePathTemplate() {
return pagePathTemplate;
}
public void setPagePathTemplate(String pagePathTemplate) {
this.pagePathTemplate = pagePathTemplate;
}
}
......@@ -2,6 +2,7 @@ package com.stylefeng.guns.core.template.engine;
import com.stylefeng.guns.core.template.config.ContextConfig;
import com.stylefeng.guns.core.template.config.ControllerConfig;
import com.stylefeng.guns.core.template.config.PageConfig;
/**
* 模板生成父类
......@@ -13,6 +14,15 @@ public class AbstractTemplateEngine {
private ContextConfig contextConfig = new ContextConfig(); //全局配置
private ControllerConfig controllerConfig = new ControllerConfig(); //控制器的配置
private PageConfig pageConfig = new PageConfig(); //页面的控制器
public PageConfig getPageConfig() {
return pageConfig;
}
public void setPageConfig(PageConfig pageConfig) {
this.pageConfig = pageConfig;
}
public ContextConfig getContextConfig() {
return contextConfig;
......
......@@ -7,6 +7,7 @@ import org.beetl.core.GroupTemplate;
import org.beetl.core.Template;
import org.beetl.core.resource.ClasspathResourceLoader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
......@@ -30,6 +31,7 @@ public class GunsTemplateEngine extends AbstractTemplateEngine {
properties.put("RESOURCE.root", "");
properties.put("DELIMITER_STATEMENT_START", "<%");
properties.put("DELIMITER_STATEMENT_END", "%>");
properties.put("HTML_TAG_FLAG", "##");
Configuration cfg = null;
try {
cfg = new Configuration(properties);
......@@ -41,15 +43,32 @@ public class GunsTemplateEngine extends AbstractTemplateEngine {
groupTemplate.registerFunctionPackage("tool", new ToolUtil());
}
public void start() throws IOException {
//初始化控制器模板
Template template = groupTemplate.getTemplate("gunsTemplate/Controller.java.btl");
public void configTemplate(Template template){
template.binding("controller", super.getControllerConfig());
template.binding("context", super.getContextConfig());
String format = ToolUtil.format(super.getContextConfig().getProjectPath() + super.getControllerConfig().getControllerPathTemplate(),
}
public void start() throws IOException {
//初始化控制器模板
Template controllerTemplate = groupTemplate.getTemplate("gunsTemplate/Controller.java.btl");
configTemplate(controllerTemplate);
String controllerPath = ToolUtil.format(super.getContextConfig().getProjectPath() + super.getControllerConfig().getControllerPathTemplate(),
ToolUtil.firstLetterToUpper(super.getContextConfig().getBizEnName()));
template.renderTo(new FileOutputStream(format));
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("生成页面成功!");
}
public static void main(String[] args) throws IOException {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment