环境变量
对静态配置(如字符串username,password,database信息,邮件账户等),你可以使用properties文件。Mentawai将会根据对即将运行的应用自动加载对应环境的配置文件。这些环境包括:开发环境(DEV),生产环境(PROD),集成环境(INT),质量保证环境(QA)和测试环境。你可以通过设置环境变量ENV来定义环境 。如果这一变量不存在,DEV将作为默认环境。 例如,你可以在启动web容器之前运行以下命令来设置环境变量。
export ENV=prod
配置文件将从web应用的下列目录中加载:
特别指出的是,在default目录中appManager.properties文件是经常被加载到的文件,你可以在某个特定环境下覆盖任意默认属性值,也可以定义为适合所有环境的变量。
在应用管理器中使用变量
@Override
public void init(Context application) {
Props props = getProps();
////////////////////////////////////////////
// 开启或关闭debug模式
////////////////////////////////////////////
setDebugMode(props.getBoolean("debug_mode"));
///////////////////////////////////////////////////
// 开启或关闭 AUTO-REDEPLOY 特性
// OBS: Requires http://www.javarebel.com to work
///////////////////////////////////////////////////
setReloadable(props.getBoolean("auto_reload"));
//////////////////////////////////////////
// 发送邮件
//////////////////////////////////////////
if (!props.getBoolean("email.send_email")) {
Email.setSendEmail(false);
} else {
Email.setDefaultHostName(props.getString("email.host"));
Email.setDefaultSslConnection( props.getBoolean("email.ssl") );
Email.setDefaultPort( props.getInt("email.port") );
if (props.getBoolean("email.use_authentication")) {
Email.setDefaultAuthentication(props.getString("email.user"), props.getString("email.pass"));
}
Email.setDefaultFrom(props.getString("email.from_email"), props.getString("email.from_name"));
}
}
需要指出的是Props对象有许多有用的方法来访问它的属性值。
视图层检查配置文件
你可以在JSP页面中使用特殊的标签检查配置文件,如:如果配置文件中的配置为true,就会添加谷歌追踪代码。
<mtw:propsIf test="include_google_analytics" value="true">
<!-- 谷歌分析代码 -->
</mtw:propsIf>