Browse Source

data 方法中的 dataWithOkState 控制转移到 _setData 方法中

James 3 years ago
parent
commit
103cc1da3c
1 changed files with 16 additions and 4 deletions
  1. 16 4
      src/main/java/com/jfinal/kit/Ret.java

+ 16 - 4
src/main/java/com/jfinal/kit/Ret.java

@@ -135,11 +135,15 @@ public class Ret extends HashMap {
 	}
 	
 	public static Ret data(Object data) {
-		Ret ret = new Ret()._setData(data);
-		return dataWithOkState ? ret.setOk() : ret;
+		return new Ret()._setData(data);
 	}
 	
-	// 避免产生 setter/getter 方法,以免影响第三方 json 工具的行为
+	/**
+	 * 避免产生 setter/getter 方法,以免影响第三方 json 工具的行为
+	 * 
+	 * 如果未来开放为 public,当 stateWatcher 不为 null 且 dataWithOkState 为 true
+	 * 与 _setData 可以形成死循环调用
+	 */
 	protected Ret _setState(Object value) {
 		super.put(STATE, value);
 		if (stateWatcher != null) {
@@ -148,9 +152,17 @@ public class Ret extends HashMap {
 		return this;
 	}
 	
-	// 避免产生 setter/getter 方法,以免影响第三方 json 工具的行为
+	/**
+	 * 避免产生 setter/getter 方法,以免影响第三方 json 工具的行为
+	 * 
+	 * 如果未来开放为 public,当 stateWatcher 不为 null 且 dataWithOkState 为 true
+	 * 与 _setState 可以形成死循环调用
+	 */
 	protected Ret _setData(Object data) {
 		super.put(DATA, data);
+		if (dataWithOkState) {
+			_setState(STATE_OK);
+		}
 		return this;
 	}