2017-07-07 11:23
@1初学者 先用 generate.addExcludedTalbe(...) 将视图过滤掉,jfinal 3.2 已经去掉了对 view 的生成代码
2017-07-07 11:18
@i++ 我倒是建议你不扩展 Engine,用一个独立的定时器线程每隔一段时间去看看 templateCacheSize(),如果超出一定的范围就清一下缓存,当然这样也会清掉模板文件的缓存
要做得更加完善,通过继承 engine 也是可以的,但不需要那么麻烦,只需要在继承类中覆盖掉 getTemplateByString 方法,然后将 key 存起来,并调用父类就可以了,大致如下:
public class MyEngine extends Engine {
Map stringTemplate = new HashMap();
public Template getTemplateByString(String content) {
String key = HashKit.md5(content);
Template ret = stringTemplate.get(key);
if (ret != null) {
return ret;
}
return super.getTemplateByString(content);
}
public void clearStringCache() {
// 这里对 Map stringTemplate 进行迭代
// 利用其 key 调用父类的 removeCache 方法
super.removeTempateCache(key);
stringTemplate.remove(key);
}
}
2017-07-05 18:55
@坚强的地瓜 好多方法判断:
1:用 string 的 endsWith 或者 startsWith 判断前缀与后缀
2:用正则表达式进行匹配