James 6 年 前
コミット
c2e56a5d45

+ 4 - 4
src/main/java/com/jfinal/template/expr/ast/Field.java

@@ -28,10 +28,10 @@ import com.jfinal.template.stat.Scope;
  * 
  * field 表达式取值优先次序,以 user.name 为例
  * 1:假如 user.getName() 存在,则优先调用
- * 2:假如 user 为 Model 子类,则调用 user.get("name")
- * 3:假如 user 为 Record,则调用 user.get("name")
- * 4:假如 user 为 Map,则调用 user.get("name")
- * 5:假如 user 具有 public name 属性,则取 user.name 属性值
+ * 2:假如 user 具有 public name 属性,则取 user.name 属性值
+ * 3:假如 user 为 Model 子类,则调用 user.get("name")
+ * 4:假如 user 为 Record,则调用 user.get("name")
+ * 5:假如 user 为 Map,则调用 user.get("name")
  */
 public class Field extends Expr {
 	

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

@@ -44,10 +44,13 @@ public class FieldKit {
 		LinkedList<FieldGetter> ret = new LinkedList<FieldGetter>();
 		
 		ret.addLast(new GetterMethodFieldGetter(null));
+		ret.addLast(new RealFieldGetter(null));
 		ret.addLast(new ModelFieldGetter());
 		ret.addLast(new RecordFieldGetter());
 		ret.addLast(new MapFieldGetter());
-		ret.addLast(new RealFieldGetter(null));
+		
+		// 挪到第二的位置,addSharedObject(..., modelObj) 用法可以获取到 model 中的 public 属性
+		// ret.addLast(new RealFieldGetter(null));
 		ret.addLast(new ArrayLengthGetter());
 		// ret.addLast(new IsMethodFieldGetter());