浏览代码

jfinal 4.8

James 6 年之前
父节点
当前提交
b2725222fb
共有 1 个文件被更改,包括 10 次插入2 次删除
  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 值
 				if (cur.data == null) {			// 支持顶层 data 为 null 值
 					cur.data = new HashMap();
 					cur.data = new HashMap();
 				}
 				}
+				
 				cur.data.put(key, value);
 				cur.data.put(key, value);
 				return ;
 				return ;
 			}
 			}
@@ -159,6 +160,10 @@ public class Scope {
 	public void setGlobal(Object key, Object value) {
 	public void setGlobal(Object key, Object value) {
 		for (Scope cur=this; true; cur=cur.parent) {
 		for (Scope cur=this; true; cur=cur.parent) {
 			if (cur.parent == null) {
 			if (cur.parent == null) {
+				if (cur.data == null) {
+					cur.data = new HashMap();
+				}
+				
 				cur.data.put(key, value);
 				cur.data.put(key, value);
 				return ;
 				return ;
 			}
 			}
@@ -172,7 +177,7 @@ public class Scope {
 	public Object getGlobal(Object key) {
 	public Object getGlobal(Object key) {
 		for (Scope cur=this; true; cur=cur.parent) {
 		for (Scope cur=this; true; cur=cur.parent) {
 			if (cur.parent == null) {
 			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) {
 	public void removeGlobal(Object key) {
 		for (Scope cur=this; true; cur=cur.parent) {
 		for (Scope cur=this; true; cur=cur.parent) {
 			if (cur.parent == null) {
 			if (cur.parent == null) {
-				cur.data.remove(key);
+				if (cur.data != null) {
+					cur.data.remove(key);
+				}
+				
 				return ;
 				return ;
 			}
 			}
 		}
 		}