forked from p81075629/datagear
整理web目录结构,将内置资源移至org/datagear/web类路径内
This commit is contained in:
parent
0424349443
commit
4a6df27d16
|
@ -197,7 +197,7 @@
|
|||
</goals>
|
||||
<configuration>
|
||||
<tasks>
|
||||
<replace file="${project.build.outputDirectory}/log4j.properties"
|
||||
<replace file="${project.build.outputDirectory}/org/datagear/web/log4j.properties"
|
||||
token="DEBUG, A0" value="${dist.log4j.rootLogger}" />
|
||||
</tasks>
|
||||
</configuration>
|
||||
|
|
|
@ -88,7 +88,7 @@ public class MainController extends AbstractController
|
|||
* @param model
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/")
|
||||
@RequestMapping({ "/", "/index.html" })
|
||||
public String main(HttpServletRequest request, HttpServletResponse response, Model model)
|
||||
{
|
||||
request.setAttribute("disableRegister", this.disableRegister);
|
||||
|
|
|
@ -4,11 +4,9 @@
|
|||
|
||||
package org.datagear.web.controller;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.Reader;
|
||||
import java.io.Writer;
|
||||
|
||||
|
@ -26,7 +24,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.context.ServletContextAware;
|
||||
import org.springframework.web.context.support.ServletContextResource;
|
||||
|
||||
/**
|
||||
* 模式JDBC连接URL构建器控制器。
|
||||
|
@ -38,9 +35,7 @@ import org.springframework.web.context.support.ServletContextResource;
|
|||
@RequestMapping("/schemaUrlBuilder")
|
||||
public class SchemaUrlBuilderController extends AbstractController implements ServletContextAware
|
||||
{
|
||||
protected static final String LINE_SEPARATOR = System.getProperty("line.separator");
|
||||
|
||||
public static final String BUILT_IN_DB_URL_BUILDER_PATH = "/WEB-INF/builtInDbUrlBuilder.js";
|
||||
public static final String BUILT_IN_DB_URL_BUILDER_CLASS_PATH = "org/datagear/web/builtInDbUrlBuilder.js";
|
||||
|
||||
public static final String DB_URL_BUILDER_ENCODING = "UTF-8";
|
||||
|
||||
|
@ -172,21 +167,7 @@ public class SchemaUrlBuilderController extends AbstractController implements Se
|
|||
|
||||
Reader reader = IOUtil.getReader(this.schemaUrlBuilderScriptFile, DB_URL_BUILDER_ENCODING);
|
||||
|
||||
BufferedReader bufferedReader = null;
|
||||
|
||||
if (reader instanceof BufferedReader)
|
||||
bufferedReader = (BufferedReader) reader;
|
||||
else
|
||||
bufferedReader = new BufferedReader(reader);
|
||||
|
||||
try
|
||||
{
|
||||
return getUrlBuilderScript(bufferedReader);
|
||||
}
|
||||
finally
|
||||
{
|
||||
IOUtil.close(bufferedReader);
|
||||
}
|
||||
return IOUtil.readString(reader, true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -199,37 +180,10 @@ public class SchemaUrlBuilderController extends AbstractController implements Se
|
|||
{
|
||||
if (this._builtInDbUrlBuilderScript == null)
|
||||
{
|
||||
ServletContextResource resource = new ServletContextResource(this.servletContext,
|
||||
BUILT_IN_DB_URL_BUILDER_PATH);
|
||||
|
||||
InputStream in = resource.getInputStream();
|
||||
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in, DB_URL_BUILDER_ENCODING));
|
||||
|
||||
try
|
||||
{
|
||||
this._builtInDbUrlBuilderScript = getUrlBuilderScript(bufferedReader);
|
||||
}
|
||||
finally
|
||||
{
|
||||
IOUtil.close(bufferedReader);
|
||||
}
|
||||
InputStream in = getClass().getClassLoader().getResourceAsStream(BUILT_IN_DB_URL_BUILDER_CLASS_PATH);
|
||||
this._builtInDbUrlBuilderScript = IOUtil.readString(in, DB_URL_BUILDER_ENCODING, true);
|
||||
}
|
||||
|
||||
return this._builtInDbUrlBuilderScript;
|
||||
}
|
||||
|
||||
protected String getUrlBuilderScript(BufferedReader reader) throws IOException
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
String line = null;
|
||||
|
||||
while ((line = reader.readLine()) != null)
|
||||
{
|
||||
sb.append(line);
|
||||
sb.append(LINE_SEPARATOR);
|
||||
}
|
||||
|
||||
return sb.toString().trim();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,36 +6,32 @@ package org.datagear.web.util;
|
|||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
|
||||
import org.datagear.util.IOUtil;
|
||||
import org.datagear.util.version.AbstractVersionContentReader;
|
||||
import org.datagear.util.version.Version;
|
||||
import org.datagear.util.version.VersionContent;
|
||||
import org.springframework.web.context.ServletContextAware;
|
||||
import org.springframework.web.context.support.ServletContextResource;
|
||||
|
||||
/**
|
||||
* 更新日志解析器。
|
||||
* <p>
|
||||
* 此类解析{@linkplain #CHANGELOG_CLASS_PATH}类路径文件的更新日志。
|
||||
* </p>
|
||||
*
|
||||
* @author datagear@163.com
|
||||
*
|
||||
*/
|
||||
public class ChangelogResolver extends AbstractVersionContentReader implements ServletContextAware
|
||||
public class ChangelogResolver extends AbstractVersionContentReader
|
||||
{
|
||||
public static final String DEFAULT_CHANGELOG_PATH = "/WEB-INF/changelog.txt";
|
||||
public static final String CHANGELOG_CLASS_PATH = "org/datagear/web/changelog.txt";
|
||||
|
||||
/** 数据库SQL文件中版本号注释开头标识 */
|
||||
public static final String VERSION_LINE_PREFIX = "--v";
|
||||
|
||||
private ServletContext servletContext;
|
||||
|
||||
private String changelogPath = DEFAULT_CHANGELOG_PATH;
|
||||
|
||||
private String changelogEncoding = ENCODING_UTF8;
|
||||
|
||||
public ChangelogResolver()
|
||||
|
@ -43,33 +39,6 @@ public class ChangelogResolver extends AbstractVersionContentReader implements S
|
|||
super();
|
||||
}
|
||||
|
||||
public ChangelogResolver(ServletContext servletContext)
|
||||
{
|
||||
super();
|
||||
this.servletContext = servletContext;
|
||||
}
|
||||
|
||||
public ServletContext getServletContext()
|
||||
{
|
||||
return servletContext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setServletContext(ServletContext servletContext)
|
||||
{
|
||||
this.servletContext = servletContext;
|
||||
}
|
||||
|
||||
public String getChangelogPath()
|
||||
{
|
||||
return changelogPath;
|
||||
}
|
||||
|
||||
public void setChangelogPath(String changelogPath)
|
||||
{
|
||||
this.changelogPath = changelogPath;
|
||||
}
|
||||
|
||||
public String getChangelogEncoding()
|
||||
{
|
||||
return changelogEncoding;
|
||||
|
@ -154,12 +123,8 @@ public class ChangelogResolver extends AbstractVersionContentReader implements S
|
|||
|
||||
protected BufferedReader getChangelogBufferedReader() throws IOException
|
||||
{
|
||||
ServletContextResource resource = new ServletContextResource(this.servletContext, this.changelogPath);
|
||||
|
||||
if (!resource.exists())
|
||||
return null;
|
||||
|
||||
return new BufferedReader(new InputStreamReader(resource.getInputStream(), this.changelogEncoding));
|
||||
InputStream in = getClass().getClassLoader().getResourceAsStream(CHANGELOG_CLASS_PATH);
|
||||
return new BufferedReader(new InputStreamReader(in, this.changelogEncoding));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -34,7 +34,8 @@ public class DerbySqlClient
|
|||
|
||||
try
|
||||
{
|
||||
applicationContext = new ClassPathXmlApplicationContext("datagear-applicationContext-DerbySqlClient.xml");
|
||||
applicationContext = new ClassPathXmlApplicationContext(
|
||||
"org/datagear/web/datagear-applicationContext-DerbySqlClient.xml");
|
||||
|
||||
DriverManagerDataSource dataSource = applicationContext.getBean(DriverManagerDataSource.class);
|
||||
|
||||
|
|
|
@ -6,50 +6,42 @@ package org.datagear.web.util;
|
|||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.zip.ZipInputStream;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
|
||||
import org.datagear.connection.XmlDriverEntityManager;
|
||||
import org.datagear.util.IOUtil;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.web.context.ServletContextAware;
|
||||
import org.springframework.web.context.support.ServletContextResource;
|
||||
|
||||
/**
|
||||
* {@linkplain XmlDriverEntityManager}初始化器。
|
||||
* <p>
|
||||
* 它先将相对于{@linkplain ServletContext}路径下指定的ZIP文件解压到{@linkplain XmlDriverEntityManager#getRootDirectory()}目录下,
|
||||
* 它先将{@linkplain #BUILT_IN_DRIVER_ENTITY_ZIP_CLASS_PATH}
|
||||
* 的ZIP文件解压到{@linkplain XmlDriverEntityManager#getRootDirectory()}目录下,
|
||||
* 然后调用{@linkplain XmlDriverEntityManager#init()}方法。
|
||||
* </p>
|
||||
*
|
||||
* @author datagear@163.com
|
||||
*
|
||||
*/
|
||||
public class XmlDriverEntityManagerInitializer implements ServletContextAware
|
||||
public class XmlDriverEntityManagerInitializer
|
||||
{
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(XmlDriverEntityManagerInitializer.class);
|
||||
|
||||
public static final String DEFAULT_BUILT_IN_FILE_DRIVER_ENTITY_ZIP_PATH = "/WEB-INF/builtInDriverEntity.zip";
|
||||
public static final String BUILT_IN_DRIVER_ENTITY_ZIP_CLASS_PATH = "org/datagear/web/builtInDriverEntity.zip";
|
||||
|
||||
private XmlDriverEntityManager xmlDriverEntityManager;
|
||||
|
||||
private ServletContext servletContext;
|
||||
|
||||
private String builtInFileDriverEntityZipPath = DEFAULT_BUILT_IN_FILE_DRIVER_ENTITY_ZIP_PATH;
|
||||
|
||||
public XmlDriverEntityManagerInitializer()
|
||||
{
|
||||
super();
|
||||
}
|
||||
|
||||
public XmlDriverEntityManagerInitializer(XmlDriverEntityManager xmlDriverEntityManager,
|
||||
ServletContext servletContext)
|
||||
public XmlDriverEntityManagerInitializer(XmlDriverEntityManager xmlDriverEntityManager)
|
||||
{
|
||||
super();
|
||||
this.xmlDriverEntityManager = xmlDriverEntityManager;
|
||||
this.servletContext = servletContext;
|
||||
}
|
||||
|
||||
public XmlDriverEntityManager getXmlDriverEntityManager()
|
||||
|
@ -62,27 +54,6 @@ public class XmlDriverEntityManagerInitializer implements ServletContextAware
|
|||
this.xmlDriverEntityManager = xmlDriverEntityManager;
|
||||
}
|
||||
|
||||
public ServletContext getServletContext()
|
||||
{
|
||||
return servletContext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setServletContext(ServletContext servletContext)
|
||||
{
|
||||
this.servletContext = servletContext;
|
||||
}
|
||||
|
||||
public String getBuiltInFileDriverEntityZipPath()
|
||||
{
|
||||
return builtInFileDriverEntityZipPath;
|
||||
}
|
||||
|
||||
public void setBuiltInFileDriverEntityZipPath(String builtInFileDriverEntityZipPath)
|
||||
{
|
||||
this.builtInFileDriverEntityZipPath = builtInFileDriverEntityZipPath;
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化。
|
||||
*/
|
||||
|
@ -99,20 +70,18 @@ public class XmlDriverEntityManagerInitializer implements ServletContextAware
|
|||
}
|
||||
else
|
||||
{
|
||||
ServletContextResource resource = new ServletContextResource(this.servletContext,
|
||||
this.builtInFileDriverEntityZipPath);
|
||||
InputStream in = null;
|
||||
|
||||
if (!resource.exists())
|
||||
try
|
||||
{
|
||||
if (LOGGER.isDebugEnabled())
|
||||
LOGGER.debug("built-in drivers initialization is skipped, resource ["
|
||||
+ this.builtInFileDriverEntityZipPath + "] not found");
|
||||
in = getClass().getClassLoader().getResourceAsStream(BUILT_IN_DRIVER_ENTITY_ZIP_CLASS_PATH);
|
||||
ZipInputStream zipIn = new ZipInputStream(in);
|
||||
|
||||
IOUtil.unzip(zipIn, this.xmlDriverEntityManager.getRootDirectory());
|
||||
}
|
||||
else
|
||||
finally
|
||||
{
|
||||
ZipInputStream in = new ZipInputStream(resource.getInputStream());
|
||||
|
||||
IOUtil.unzip(in, this.xmlDriverEntityManager.getRootDirectory());
|
||||
IOUtil.close(in);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
|
||||
<property name="locations">
|
||||
<list>
|
||||
<value>classpath:datagear.properties</value>
|
||||
<value>classpath:org/datagear/web/datagear.properties</value>
|
||||
</list>
|
||||
</property>
|
||||
<property name="fileEncoding" value="UTF-8" />
|
|
@ -16,9 +16,8 @@
|
|||
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
|
||||
<property name="locations">
|
||||
<list>
|
||||
<value>/WEB-INF/config/datagear.properties</value>
|
||||
<value>classpath:datagear.properties</value>
|
||||
<value>classpath:datagear-version.properties</value>
|
||||
<value>classpath:org/datagear/web/datagear.properties</value>
|
||||
<value>classpath:org/datagear/web/datagear-version.properties</value>
|
||||
</list>
|
||||
</property>
|
||||
<property name="fileEncoding" value="UTF-8" />
|
||||
|
@ -27,7 +26,7 @@
|
|||
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
|
||||
<property name="basenames">
|
||||
<list>
|
||||
<value>locales.datagear</value>
|
||||
<value>org.datagear.web.locales.datagear</value>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
@ -341,19 +340,19 @@
|
|||
<list>
|
||||
<bean class="org.datagear.analysis.support.html.HtmlDashboardImport">
|
||||
<property name="name" value="jquery" />
|
||||
<property name="content" value="<script type='text/javascript' src='$CONTEXTPATH/static/script/jquery/jquery-1.12.4.js' ></script>" />
|
||||
<property name="content" value="<script type='text/javascript' src='$CONTEXTPATH/static/script/jquery/jquery-1.12.4.js'></script>" />
|
||||
</bean>
|
||||
<bean class="org.datagear.analysis.support.html.HtmlDashboardImport">
|
||||
<property name="name" value="echarts" />
|
||||
<property name="content" value="<script type='text/javascript' src='$CONTEXTPATH/static/script/echarts-4.6.0/echarts.js' ></script>" />
|
||||
<property name="content" value="<script type='text/javascript' src='$CONTEXTPATH/static/script/echarts-4.6.0/echarts.js'></script>" />
|
||||
</bean>
|
||||
<bean class="org.datagear.analysis.support.html.HtmlDashboardImport">
|
||||
<property name="name" value="chart-util" />
|
||||
<property name="content" value="<script type='text/javascript' src='$CONTEXTPATH/static/script/datagear-chart-util.js' ></script>" />
|
||||
<property name="content" value="<script type='text/javascript' src='$CONTEXTPATH/static/script/datagear-chart-util.js'></script>" />
|
||||
</bean>
|
||||
<bean class="org.datagear.analysis.support.html.HtmlDashboardImport">
|
||||
<property name="name" value="dashboard-renderer" />
|
||||
<property name="content" value="<script type='text/javascript' src='$CONTEXTPATH/static/script/datagear-dashboard-renderer.js' ></script>" />
|
||||
<property name="content" value="<script type='text/javascript' src='$CONTEXTPATH/static/script/datagear-dashboard-renderer.js'></script>" />
|
||||
</bean>
|
||||
</list>
|
||||
</property>
|
|
@ -1,109 +1,108 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:p="http://www.springframework.org/schema/p"
|
||||
xmlns:context="http://www.springframework.org/schema/context"
|
||||
xsi:schemaLocation="
|
||||
http://www.springframework.org/schema/beans
|
||||
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
|
||||
http://www.springframework.org/schema/context
|
||||
http://www.springframework.org/schema/context/spring-context-3.2.xsd">
|
||||
|
||||
<bean id="servletPropertyConfigurer"
|
||||
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
|
||||
<property name="locations">
|
||||
<list>
|
||||
<value>/WEB-INF/config/datagear.properties</value>
|
||||
<value>classpath:datagear.properties</value>
|
||||
<value>classpath:datagear-version.properties</value>
|
||||
</list>
|
||||
</property>
|
||||
<property name="fileEncoding" value="UTF-8" />
|
||||
</bean>
|
||||
|
||||
<context:component-scan base-package="org.datagear.web.controller"/>
|
||||
|
||||
<!--jackson无法处理循环引用,因而改用fastjson-->
|
||||
<bean id="fastJsonHttpMessageConverter" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
|
||||
<property name="fastJsonConfig" ref="fastJsonConfig" />
|
||||
</bean>
|
||||
|
||||
<bean id="handlerMapping" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
|
||||
<property name="alwaysUseFullPath" value="true" />
|
||||
<property name="interceptors">
|
||||
<list>
|
||||
<ref bean="themeChangeInterceptor" />
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="handlerAdapter" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
|
||||
<property name="messageConverters">
|
||||
<list>
|
||||
<ref bean="fastJsonHttpMessageConverter" />
|
||||
</list>
|
||||
</property>
|
||||
<property name="webBindingInitializer">
|
||||
<bean class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer">
|
||||
<property name="conversionService" ref="conversionService" />
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="writeJsonTemplateDirectiveModel" class="org.datagear.web.freemarker.WriteJsonTemplateDirectiveModel">
|
||||
<property name="serializeConfig" ref="serializeConfig" />
|
||||
<property name="serializerFeatures" ref="serializerFeatures" />
|
||||
</bean>
|
||||
|
||||
<bean id="freeMarkerConfigurer" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
|
||||
<property name="templateLoaderPaths" value="/WEB-INF/view/" />
|
||||
<property name="defaultEncoding" value="UTF-8" />
|
||||
<property name="freemarkerSettings">
|
||||
<props>
|
||||
<prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
|
||||
<prop key="date_format">yyyy-MM-dd</prop>
|
||||
<prop key="number_format">#.##</prop>
|
||||
</props>
|
||||
</property>
|
||||
<property name="freemarkerVariables">
|
||||
<map>
|
||||
<entry key="writeJson" value-ref="writeJsonTemplateDirectiveModel" />
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="freeMarkerViewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
|
||||
<property name="viewClass" value="org.datagear.web.freemarker.CustomFreeMarkerView" />
|
||||
<property name="contentType" value="text/html;charset=UTF-8"></property>
|
||||
<property name="exposeRequestAttributes" value="true" />
|
||||
<property name="allowRequestOverride" value="true" />
|
||||
<property name="cache" value="true" />
|
||||
<property name="prefix" value="" />
|
||||
<property name="suffix" value=".ftl" />
|
||||
</bean>
|
||||
|
||||
<bean id="exceptionResolver" class="org.datagear.web.util.DeliverContentTypeExceptionHandlerExceptionResolver" />
|
||||
|
||||
<bean id="themeSource" class="org.springframework.ui.context.support.ResourceBundleThemeSource">
|
||||
<property name="basenamePrefix" value="theme." />
|
||||
</bean>
|
||||
<bean id="themeResolver" class="org.springframework.web.servlet.theme.CookieThemeResolver">
|
||||
<property name="defaultThemeName" value="lightness" />
|
||||
<property name="cookieName" value="THEME" />
|
||||
<property name="cookieMaxAge" value="157680000" />
|
||||
</bean>
|
||||
<bean id="themeChangeInterceptor" class="org.datagear.web.util.EnumThemeChangeInterceptor">
|
||||
<property name="themes">
|
||||
<list>
|
||||
<value>lightness</value>
|
||||
<value>dark</value>
|
||||
<value>green</value>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver" />
|
||||
|
||||
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:p="http://www.springframework.org/schema/p"
|
||||
xmlns:context="http://www.springframework.org/schema/context"
|
||||
xsi:schemaLocation="
|
||||
http://www.springframework.org/schema/beans
|
||||
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
|
||||
http://www.springframework.org/schema/context
|
||||
http://www.springframework.org/schema/context/spring-context-3.2.xsd">
|
||||
|
||||
<bean id="servletPropertyConfigurer"
|
||||
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
|
||||
<property name="locations">
|
||||
<list>
|
||||
<value>classpath:org/datagear/web/datagear.properties</value>
|
||||
<value>classpath:org/datagear/web/datagear-version.properties</value>
|
||||
</list>
|
||||
</property>
|
||||
<property name="fileEncoding" value="UTF-8" />
|
||||
</bean>
|
||||
|
||||
<context:component-scan base-package="org.datagear.web.controller"/>
|
||||
|
||||
<!--jackson无法处理循环引用,因而改用fastjson-->
|
||||
<bean id="fastJsonHttpMessageConverter" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
|
||||
<property name="fastJsonConfig" ref="fastJsonConfig" />
|
||||
</bean>
|
||||
|
||||
<bean id="handlerMapping" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
|
||||
<property name="alwaysUseFullPath" value="true" />
|
||||
<property name="interceptors">
|
||||
<list>
|
||||
<ref bean="themeChangeInterceptor" />
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="handlerAdapter" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
|
||||
<property name="messageConverters">
|
||||
<list>
|
||||
<ref bean="fastJsonHttpMessageConverter" />
|
||||
</list>
|
||||
</property>
|
||||
<property name="webBindingInitializer">
|
||||
<bean class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer">
|
||||
<property name="conversionService" ref="conversionService" />
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="writeJsonTemplateDirectiveModel" class="org.datagear.web.freemarker.WriteJsonTemplateDirectiveModel">
|
||||
<property name="serializeConfig" ref="serializeConfig" />
|
||||
<property name="serializerFeatures" ref="serializerFeatures" />
|
||||
</bean>
|
||||
|
||||
<bean id="freeMarkerConfigurer" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
|
||||
<property name="templateLoaderPaths" value="/WEB-INF/view/" />
|
||||
<property name="defaultEncoding" value="UTF-8" />
|
||||
<property name="freemarkerSettings">
|
||||
<props>
|
||||
<prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
|
||||
<prop key="date_format">yyyy-MM-dd</prop>
|
||||
<prop key="number_format">#.##</prop>
|
||||
</props>
|
||||
</property>
|
||||
<property name="freemarkerVariables">
|
||||
<map>
|
||||
<entry key="writeJson" value-ref="writeJsonTemplateDirectiveModel" />
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="freeMarkerViewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
|
||||
<property name="viewClass" value="org.datagear.web.freemarker.CustomFreeMarkerView" />
|
||||
<property name="contentType" value="text/html;charset=UTF-8"></property>
|
||||
<property name="exposeRequestAttributes" value="true" />
|
||||
<property name="allowRequestOverride" value="true" />
|
||||
<property name="cache" value="true" />
|
||||
<property name="prefix" value="" />
|
||||
<property name="suffix" value=".ftl" />
|
||||
</bean>
|
||||
|
||||
<bean id="exceptionResolver" class="org.datagear.web.util.DeliverContentTypeExceptionHandlerExceptionResolver" />
|
||||
|
||||
<bean id="themeSource" class="org.springframework.ui.context.support.ResourceBundleThemeSource">
|
||||
<property name="basenamePrefix" value="org.datagear.web.theme." />
|
||||
</bean>
|
||||
<bean id="themeResolver" class="org.springframework.web.servlet.theme.CookieThemeResolver">
|
||||
<property name="defaultThemeName" value="lightness" />
|
||||
<property name="cookieName" value="THEME" />
|
||||
<property name="cookieMaxAge" value="157680000" />
|
||||
</bean>
|
||||
<bean id="themeChangeInterceptor" class="org.datagear.web.util.EnumThemeChangeInterceptor">
|
||||
<property name="themes">
|
||||
<list>
|
||||
<value>lightness</value>
|
||||
<value>dark</value>
|
||||
<value>green</value>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver" />
|
||||
|
||||
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />
|
||||
|
||||
</beans>
|
|
@ -30,4 +30,18 @@ directory.chartPlugin=${directory.root}/chartPlugin
|
|||
directory.dashboard=${directory.root}/dashboard
|
||||
|
||||
#数据编辑界面自定义URL构建器脚本文件
|
||||
schemaUrlBuilderScriptFile=${directory.root}/db_url_builder.js
|
||||
schemaUrlBuilderScriptFile=${directory.root}/db_url_builder.js
|
||||
|
||||
#重置密码请求被处理的时延小时数
|
||||
resetPasswordRequestDelayHours=24
|
||||
|
||||
#重置密码请求历史保留天数
|
||||
resetPasswordRequestHistoryRetainDays=365
|
||||
|
||||
#是否禁用匿名用户功能,禁用后,匿名用户将不能使用系统功能
|
||||
#可选值:true 表示禁用;false 表示不禁用
|
||||
disableAnonymous=false
|
||||
|
||||
#是否禁用注册功能
|
||||
#可选值:true 表示禁用;false 表示不禁用
|
||||
disableRegister=false
|
|
@ -1,15 +0,0 @@
|
|||
#--UTF-8 file--
|
||||
|
||||
#重置密码请求被处理的时延小时数
|
||||
resetPasswordRequestDelayHours=24
|
||||
|
||||
#重置密码请求历史保留天数
|
||||
resetPasswordRequestHistoryRetainDays=365
|
||||
|
||||
#是否禁用匿名用户功能,禁用后,匿名用户将不能使用系统功能
|
||||
#可选值:true 表示禁用;false 表示不禁用
|
||||
disableAnonymous=false
|
||||
|
||||
#是否禁用注册功能
|
||||
#可选值:true 表示禁用;false 表示不禁用
|
||||
disableRegister=false
|
|
@ -661,11 +661,11 @@
|
|||
}
|
||||
|
||||
var newTabIndex = newTab.index();
|
||||
$.cookie("mainNavActiveTabIndex", newTabIndex, {expires : 365*5, path : "${contextPath}/"});
|
||||
$.cookie("MAIN_NAV_ACTIVE_TAB_INDEX", newTabIndex, {expires : 365*5, path : "${contextPath}/"});
|
||||
}
|
||||
});
|
||||
|
||||
var mainNavActiveTabIndex = $.cookie("mainNavActiveTabIndex");
|
||||
var mainNavActiveTabIndex = $.cookie("MAIN_NAV_ACTIVE_TAB_INDEX");
|
||||
if(!mainNavActiveTabIndex)
|
||||
mainNavActiveTabIndex = "0";
|
||||
mainNavActiveTabIndex = parseInt(mainNavActiveTabIndex);
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
<context-param>
|
||||
<param-name>contextConfigLocation</param-name>
|
||||
<param-value>
|
||||
classpath:datagear-applicationContext.xml,
|
||||
classpath:datagear-security.xml
|
||||
classpath:org/datagear/web/datagear-applicationContext.xml,
|
||||
classpath:org/datagear/web/datagear-security.xml
|
||||
</param-value>
|
||||
</context-param>
|
||||
<context-param>
|
||||
<param-name>log4jConfigLocation</param-name>
|
||||
<param-value>classpath:log4j.properties</param-value>
|
||||
<param-value>classpath:org/datagear/web/log4j.properties</param-value>
|
||||
</context-param>
|
||||
<listener>
|
||||
<listener-class>org.springframework.web.util.Log4jConfigListener
|
||||
|
@ -50,6 +50,7 @@
|
|||
</filter>
|
||||
<filter-mapping>
|
||||
<filter-name>springSecurityFilterChain</filter-name>
|
||||
<url-pattern>/</url-pattern>
|
||||
<url-pattern>/logout</url-pattern>
|
||||
<servlet-name>dispatcherServlet</servlet-name>
|
||||
</filter-mapping>
|
||||
|
@ -60,7 +61,7 @@
|
|||
</servlet-class>
|
||||
<init-param>
|
||||
<param-name>contextConfigLocation</param-name>
|
||||
<param-value>classpath:datagear-servlet.xml</param-value>
|
||||
<param-value>classpath:org/datagear/web/datagear-servlet.xml</param-value>
|
||||
</init-param>
|
||||
<load-on-startup>1</load-on-startup>
|
||||
</servlet>
|
||||
|
|
|
@ -110,8 +110,7 @@ form .form-content .form-item .form-item-value .input{
|
|||
vertical-align: middle;
|
||||
}
|
||||
form .form-content .form-item .form-item-value input[type=text],
|
||||
form .form-content .form-item .form-item-value input[type=password],
|
||||
form .form-content .form-item .form-item-value .input{
|
||||
form .form-content .form-item .form-item-value input[type=password]{
|
||||
height: 1.5em;
|
||||
}
|
||||
form .form-content .form-item .form-item-value textarea{
|
||||
|
|
4
pom.xml
4
pom.xml
|
@ -114,13 +114,13 @@ ${line.separator}
|
|||
${line.separator}
|
||||
</echo>
|
||||
<!-- 替换web模块datagear-version.properties中的版本号 -->
|
||||
<replaceregexp file="datagear-web/src/main/resources/datagear-version.properties" encoding="UTF-8" match="version=\d+(\.\d+){1,2}(\-\w+){0,1}" replace="version=${project.version}"/>
|
||||
<replaceregexp file="datagear-web/src/main/resources/org/datagear/web/datagear-version.properties" encoding="UTF-8" match="version=\d+(\.\d+){1,2}(\-\w+){0,1}" replace="version=${project.version}"/>
|
||||
|
||||
<!-- 替换web模块readme.txt中的版本号 -->
|
||||
<replaceregexp file="datagear-web/src/main/webapp/readme.txt" encoding="UTF-8" match="数据齿轮\-v\d+(\.\d+){1,2}(\-\w+){0,1}" replace="数据齿轮-v${project.version}"/>
|
||||
|
||||
<!-- 为web模块的changelog.txt添加版本号行 -->
|
||||
<echo file="datagear-web/src/main/webapp/WEB-INF/changelog.txt" encoding="UTF-8" append="true">
|
||||
<echo file="datagear-web/src/main/resources/org/datagear/web/changelog.txt" encoding="UTF-8" append="true">
|
||||
${line.separator}
|
||||
-----------------------------------------
|
||||
--v${project.version}
|
||||
|
|
Loading…
Reference in New Issue