我是挂毯的初学者,我想知道是否可以使用Java表达式作为对组件的测试
我一直在尝试这种方式,但是没有用
<t:loop source="pathologies" value="valueFromCda">
<t:if test="valueFromCda instanceof String">
错误是以下之一:
Could not convert 'valueFromCda instanceof StrucDocList' into a component parameter binding: Error parsing property expression 'valueFromCda instanceof StrucDocList': line 1:0 no viable alternative at input 'valueFromCda'
valueFromCda和病理是我控制器中的属性:
@Property
private Object valueFromCda;
@Property
private List<Object> pathologies;
谢谢您的回答 !祝你下午愉快;)
最佳答案
默认情况下,“ test”参数需要一个property-binding。 Tapestry将查找属性“ valueFromCda instanceof String”或类似POJO的getter(布尔返回类型的“ isXXX”也可以)“ getValueFromCda instanceof String”,因为找不到这样的属性或方法,所以找不到页面/组件。
相反,您应该这样写:
tml
<t:if test="valueInstanceOfString">
零件
public boolean isValueInstanceOfString() {
return valueFromCda instanceof String;
}