我是 Tapestry 的初学者,我想知道是否可以使用 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 和 pathologies 是我 Controller 中的属性:
@Property
private Object valueFromCda;
@Property
private List<Object> pathologies;
感谢您的回答!下午好 ;)
最佳答案
“测试”参数需要一个 property-binding默认情况下。 Tapestry 将寻找属性“valueFromCda instanceof String”或类似 POJO 的 getter( boolean 返回类型的“isXXX”也可以)“getValueFromCda instanceof String”,它找不到,因为您的中没有这样的属性或方法页面/组件。
相反,你应该这样写:
tml
<t:if test="valueInstanceOfString">
组件
public boolean isValueInstanceOfString() {
return valueFromCda instanceof String;
}
关于java - Tapestry 使用 Java 表达式转换成 <t :if> component,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24009211/