我是一个完全不喜欢的新手,并且陷入了我的一个简单测试(在此测试:http://fiddle.rythmengine.com/)
我想在一个简单的例子中解释这个问题最简单:
我的JSON输入参数:
{myObj:
{name: "test", values: [ {id: 1}, {id: 2} ]
}
}
所以values属性是一个对象数组 - 这些对象只有一个属性id
。
我的测试模板:
@args Object myObj
Hello @myObj.name@
@for (Object v: myObj.values) {
@// this fails
}
这失败了:
org.rythmengine.exception.CompileException: values cannot be resolved or is not a field
这里有什么问题?
即。在循环之外,我可以访问myObj.values
@args Object myObj
Hello @myObj.name@
@myObj.values@
答案 0 :(得分:2)
您将myObj
声明为Object
,但根本没有value
属性。
解决方案:
使您的JSON字符串看起来像:
{
name: "test", values: [ {id: 1}, {id: 2} ]
}
您的模板代码:
@args String name, Map[] values
Hello @name@
@for (Map v: values) {
@v.get("id")
}
结果:
Hello test
1
2
上进行测试