Commit 18467107 by fsn

添加页面,详情页面以及js模板化完成

parent 9d33074f
@layout("/common/_container.html"){
<div class="ibox float-e-margins">
<div class="ibox-content">
<div class="form-horizontal">
<input type="hidden" id="id" value="">
<div class="row">
<div class="col-sm-6 b-r">
</div>
<div class="col-sm-6">
</div>
</div>
<div class="row btn-group-m-t">
<div class="col-sm-10">
<#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="${context.bizEnBigName}InfoDlg.addSubmit()"/>
<#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="${context.bizEnBigName}InfoDlg.close()"/>
</div>
</div>
</div>
</div>
</div>
<script src="\${ctxPath}/static/modular/system/${context.bizEnName}/${context.bizEnName}_info.js"></script>
@}
@layout("/common/_container.html"){
<div class="ibox float-e-margins">
<div class="ibox-content">
<div class="form-horizontal">
<input type="hidden" id="id" value="\${${context.bizEnName}.id}">
<div class="row">
<div class="col-sm-6 b-r">
</div>
<div class="col-sm-6">
</div>
</div>
<div class="row btn-group-m-t">
<div class="col-sm-10">
<#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="${context.bizEnBigName}InfoDlg.editSubmit()"/>
<#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="${context.bizEnBigName}InfoDlg.close()"/>
</div>
</div>
</div>
</div>
</div>
<script src="\${ctxPath}/static/modular/system/${context.bizEnName}/${context.bizEnName}_info.js"></script>
@}
/**
* 初始化${context.bizChName}详情对话框
*/
var ${context.bizEnBigName}InfoDlg = {
${context.bizEnName}InfoData : {}
};
/**
* 清除数据
*/
${context.bizEnBigName}InfoDlg.clearData = function() {
this.${context.bizEnName}InfoData = {};
}
/**
* 设置对话框中的数据
*
* @param key 数据的名称
* @param val 数据的具体值
*/
${context.bizEnBigName}InfoDlg.set = function(key, val) {
this.${context.bizEnName}InfoData[key] = (typeof value == "undefined") ? $("#" + key).val() : value;
return this;
}
/**
* 设置对话框中的数据
*
* @param key 数据的名称
* @param val 数据的具体值
*/
${context.bizEnBigName}InfoDlg.get = function(key) {
return $("#" + key).val();
}
/**
* 关闭此对话框
*/
${context.bizEnBigName}InfoDlg.close = function() {
parent.layer.close(window.parent.${context.bizEnBigName}.layerIndex);
}
/**
* 收集数据
*/
${context.bizEnBigName}InfoDlg.collectData = function() {
this.set('id');
}
/**
* 提交添加
*/
${context.bizEnBigName}InfoDlg.addSubmit = function() {
this.clearData();
this.collectData();
//提交信息
var ajax = new $ax(Feng.ctxPath + "/${context.bizEnName}/add", function(data){
Feng.success("添加成功!");
window.parent.${context.bizEnBigName}.table.refresh();
${context.bizEnBigName}InfoDlg.close();
},function(data){
Feng.error("添加失败!" + data.responseJSON.message + "!");
});
ajax.set(this.${context.bizEnName}InfoData);
ajax.start();
}
/**
* 提交修改
*/
${context.bizEnBigName}InfoDlg.editSubmit = function() {
this.clearData();
this.collectData();
//提交信息
var ajax = new $ax(Feng.ctxPath + "/${context.bizEnName}/update", function(data){
Feng.success("修改成功!");
window.parent.${context.bizEnBigName}.table.refresh();
${context.bizEnBigName}InfoDlg.close();
},function(data){
Feng.error("修改失败!" + data.responseJSON.message + "!");
});
ajax.set(this.${context.bizEnName}InfoData);
ajax.start();
}
$(function() {
});
......@@ -26,6 +26,7 @@ public class ControllerConfig {
imports.add("org.springframework.web.bind.annotation.RequestMapping");
imports.add("org.springframework.web.bind.annotation.ResponseBody");
imports.add("org.springframework.ui.Model");
imports.add("org.springframework.web.bind.annotation.PathVariable");
this.imports = imports;
this.packageName = "com.stylefeng.guns.modular.system.controller";
}
......
......@@ -8,8 +8,11 @@ package com.stylefeng.guns.core.template.config;
*/
public class PageConfig {
private String pageJsPathTemplate = "\\src\\main\\webapp\\static\\modular\\system\\{}\\{}.js";
private String pagePathTemplate = "\\src\\main\\webapp\\WEB-INF\\view\\system\\{}\\{}.html";
private String pageAddPathTemplate = "\\src\\main\\webapp\\WEB-INF\\view\\system\\{}\\{}_add.html";
private String pageEditPathTemplate = "\\src\\main\\webapp\\WEB-INF\\view\\system\\{}\\{}_edit.html";
private String pageJsPathTemplate = "\\src\\main\\webapp\\static\\modular\\system\\{}\\{}.js";
private String pageInfoJsPathTemplate = "\\src\\main\\webapp\\static\\modular\\system\\{}\\{}_info.js";
public String getPagePathTemplate() {
return pagePathTemplate;
......@@ -26,4 +29,28 @@ public class PageConfig {
public void setPageJsPathTemplate(String pageJsPathTemplate) {
this.pageJsPathTemplate = pageJsPathTemplate;
}
public String getPageAddPathTemplate() {
return pageAddPathTemplate;
}
public void setPageAddPathTemplate(String pageAddPathTemplate) {
this.pageAddPathTemplate = pageAddPathTemplate;
}
public String getPageEditPathTemplate() {
return pageEditPathTemplate;
}
public void setPageEditPathTemplate(String pageEditPathTemplate) {
this.pageEditPathTemplate = pageEditPathTemplate;
}
public String getPageInfoJsPathTemplate() {
return pageInfoJsPathTemplate;
}
public void setPageInfoJsPathTemplate(String pageInfoJsPathTemplate) {
this.pageInfoJsPathTemplate = pageInfoJsPathTemplate;
}
}
......@@ -2,11 +2,6 @@ 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;
/**
* 通用的模板生成引擎
......@@ -17,54 +12,50 @@ import java.io.FileOutputStream;
public class SimpleTemplateEngine extends GunsTemplateEngine {
@Override
protected void generatePageEditHtml() {
String path = ToolUtil.format(super.getContextConfig().getProjectPath() + getPageConfig().getPageEditPathTemplate(),
super.getContextConfig().getBizEnName(),super.getContextConfig().getBizEnName());
generateFile("gunsTemplate/page_edit.html.btl", path);
System.out.println("生成编辑页面成功!");
}
@Override
protected void generatePageAddHtml() {
String path = ToolUtil.format(super.getContextConfig().getProjectPath() + getPageConfig().getPageAddPathTemplate(),
super.getContextConfig().getBizEnName(),super.getContextConfig().getBizEnName());
generateFile("gunsTemplate/page_add.html.btl", path);
System.out.println("生成添加页面成功!");
}
@Override
protected void generatePageInfoJs() {
String path = ToolUtil.format(super.getContextConfig().getProjectPath() + getPageConfig().getPageInfoJsPathTemplate(),
super.getContextConfig().getBizEnName(),super.getContextConfig().getBizEnName());
generateFile("gunsTemplate/page_info.js.btl", path);
System.out.println("生成页面详情js成功!");
}
@Override
protected void generatePageJs() {
Template pageTemplate = groupTemplate.getTemplate("gunsTemplate/page.js.btl");
configTemplate(pageTemplate);
String jsPath = ToolUtil.format(super.getContextConfig().getProjectPath() + super.getPageConfig().getPageJsPathTemplate(),
String path = ToolUtil.format(super.getContextConfig().getProjectPath() + getPageConfig().getPageJsPathTemplate(),
super.getContextConfig().getBizEnName(),super.getContextConfig().getBizEnName());
File file = new File(jsPath);
File parentFile = file.getParentFile();
if(!parentFile.exists()){
parentFile.mkdirs();
}
try {
pageTemplate.renderTo(new FileOutputStream(file));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
generateFile("gunsTemplate/page.js.btl", path);
System.out.println("生成页面js成功!");
}
@Override
protected void generatePageHtml() {
Template pageTemplate = groupTemplate.getTemplate("gunsTemplate/page.html.btl");
configTemplate(pageTemplate);
String pagePath = ToolUtil.format(super.getContextConfig().getProjectPath() + super.getPageConfig().getPagePathTemplate(),
String path = ToolUtil.format(super.getContextConfig().getProjectPath() + 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();
}
generateFile("gunsTemplate/page.html.btl", path);
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();
}
generateFile("gunsTemplate/Controller.java.btl", controllerPath);
System.out.println("生成控制器成功!");
}
}
......@@ -6,6 +6,9 @@ import org.beetl.core.GroupTemplate;
import org.beetl.core.Template;
import org.beetl.core.resource.ClasspathResourceLoader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
......@@ -45,12 +48,36 @@ public abstract class GunsTemplateEngine extends AbstractTemplateEngine {
template.binding("context", super.getContextConfig());
}
public void generateFile(String template,String filePath){
Template pageTemplate = groupTemplate.getTemplate(template);
configTemplate(pageTemplate);
File file = new File(filePath);
File parentFile = file.getParentFile();
if(!parentFile.exists()){
parentFile.mkdirs();
}
try {
pageTemplate.renderTo(new FileOutputStream(file));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
public void start() {
generateController();
generatePageHtml();
generatePageAddHtml();
generatePageEditHtml();
generatePageJs();
generatePageInfoJs();
}
protected abstract void generatePageEditHtml();
protected abstract void generatePageAddHtml();
protected abstract void generatePageInfoJs();
protected abstract void generatePageJs();
protected abstract void generatePageHtml();
......
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