此 if 语句发生错误:
<if test="equal" value1="{$m.parent_id}" value2="{$var.tasks-menu-id}">
<math:increment field="var.tasks-children"/>
</if>
我已经仔细检查了数据集字段引用是否返回了正确的值,即使其中一个或两个值为空,测试也应该有效。
此 if 语句发生错误:
<if test="equal" value1="{$m.parent_id}" value2="{$var.tasks-menu-id}">
<math:increment field="var.tasks-children"/>
</if>
我已经仔细检查了数据集字段引用是否返回了正确的值,即使其中一个或两个值为空,测试也应该有效。
“如果条件没有产生布尔值”错误实际上有点误导,因为我在if
元素中设置测试的方式没有任何问题。这是问题所在:
如果在该条件下不需要任何操作,则可以省略
<then>
or子元素。<else>
该if
命令需要其中一个或两个,then
或者else
作为其子级。在这种情况下,用作主体的命令if
被视为条件,错误是由于它没有(布尔)返回值。
这有效:
<if test="equal" value1="{$m.parent_id}" value2="{$var.tasks-menu-id}">
<then>
<math:increment field="var.tasks-children"/>
</then>
</if>