<dependency> <groupId>com.jfinal</groupId> <artifactId>enjoy</artifactId> <version>3.2</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> </dependency>
pom.xml是这样配的
jfinalViewResolver的配置和文档里的一样,开始启动,正常,页面正常,模版也可用
因为用到了devtools,所以在修改java文件后重新启动,这时报错,内容如下:
Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Template function already exists : layout
建议的解决办法:
1:自己建一个 static boolean isEngineInited = false; 变量
2:在系统启动后,让这个变量变为 true
3:变为 true 以后,就不再对 enigne 进行配置
具体操作时,可以是创建一个 configEngine() 方法来对 engine 进行配置,在这个方法中添加对 isEngineInited 变量的控制即可