James 6 年 前
コミット
bade00e0c9
1 ファイル変更15 行追加1 行削除
  1. 15 1
      src/main/java/com/jfinal/template/expr/ast/FieldKit.java

+ 15 - 1
src/main/java/com/jfinal/template/expr/ast/FieldKit.java

@@ -149,11 +149,25 @@ public class FieldKit {
 	 */
 	public static void setFastMode(boolean fastMode) {
 		if (fastMode) {
-			addFieldGetterToFirst(new FastFieldGetter());
+			if ( !contains(FastFieldGetter.class) ) {
+				addFieldGetterToFirst(new FastFieldGetter());
+			}
 		} else {
 			removeFieldGetter(FastFieldGetter.class);
 		}
 	}
+	
+	/**
+	 * 判断是否包含某个 FieldGetter
+	 */
+	public static boolean contains(Class<? extends FieldGetter> fieldGetterClass) {
+		for (FieldGetter fg : getters) {
+			if (fg.getClass() == fieldGetterClass) {
+				return true;
+			}
+		}
+		return false;
+	}
 }