Browse Source

jfinal 4.8

James 6 years ago
parent
commit
b2725222fb
1 changed files with 10 additions and 2 deletions
  1. 10 2
      src/main/java/com/jfinal/template/stat/Scope.java

+ 10 - 2
src/main/java/com/jfinal/template/stat/Scope.java

@@ -78,6 +78,7 @@ public class Scope {
 				if (cur.data == null) {			// 支持顶层 data 为 null 值
 					cur.data = new HashMap();
 				}
+				
 				cur.data.put(key, value);
 				return ;
 			}
@@ -159,6 +160,10 @@ public class Scope {
 	public void setGlobal(Object key, Object value) {
 		for (Scope cur=this; true; cur=cur.parent) {
 			if (cur.parent == null) {
+				if (cur.data == null) {
+					cur.data = new HashMap();
+				}
+				
 				cur.data.put(key, value);
 				return ;
 			}
@@ -172,7 +177,7 @@ public class Scope {
 	public Object getGlobal(Object key) {
 		for (Scope cur=this; true; cur=cur.parent) {
 			if (cur.parent == null) {
-				return cur.data.get(key);
+				return cur.data != null ? cur.data.get(key) : null;
 			}
 		}
 	}
@@ -184,7 +189,10 @@ public class Scope {
 	public void removeGlobal(Object key) {
 		for (Scope cur=this; true; cur=cur.parent) {
 			if (cur.parent == null) {
-				cur.data.remove(key);
+				if (cur.data != null) {
+					cur.data.remove(key);
+				}
+				
 				return ;
 			}
 		}