思路:在JFinalConfig的实现类中配置插件的启动时机。
另一种:在 onStart 方法(3.6) 或者 afterJFinalStart 方法中获取当前web应用的模板引擎。

页面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> #(globalName) </body> </html>
java代码
package com.jfinal.engine.demo;
import com.jfinal.core.Controller;
public class IndexController extends Controller {
public void index(){
render("test.html");
}
}package com.jfinal.engine.demo;
import com.jfinal.config.*;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.druid.DruidPlugin;
import com.jfinal.template.Engine;
public class EngineDemoConfig extends JFinalConfig {
@Override
public void configConstant(Constants me) {
me.setConfigPluginOrder(1);
}
@Override
public void configRoute(Routes me) {
me.add("/", IndexController.class, "/");
}
@Override
public void configEngine(Engine me) {
me.setBaseTemplatePath(null);
me.setToClassPathSourceFactory();
String globalName = Db.queryStr(" select name from p_test limit 1 ");
me.addSharedObject("globalName", globalName);
}
@Override
public void configPlugin(Plugins me) {
DruidPlugin dp = new DruidPlugin("jdbc:mysql://localhost:3306/db0", "root", "123456");
me.add(dp);
ActiveRecordPlugin arp = new ActiveRecordPlugin(dp);
me.add(arp);
}
@Override
public void configInterceptor(Interceptors me) {
}
@Override
public void configHandler(Handlers me) {
}
}package com.jfinal.engine.demo;
import com.jfinal.server.undertow.UndertowServer;
/**
* Hello world!
*/
public class App {
public static void main(String[] args) {
UndertowServer.start(EngineDemoConfig.class);
}
}maven pom
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.jfinal.engine.demo</groupId> <artifactId>engine_demo</artifactId> <version>1.0-SNAPSHOT</version> <name>engine_demo</name> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <dependency> <groupId>com.jfinal</groupId> <artifactId>jfinal</artifactId> <version>3.6</version> </dependency> <dependency> <groupId>com.jfinal</groupId> <artifactId>jfinal-undertow</artifactId> <version>1.5</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.12</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.46</version> </dependency> </dependencies> <build> </build> </project>