java - Tapestry 使用 Java 表达式转换成 <t :if> component

标签 java if-statement expression tapestry

我是 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/

相关文章:

python - 如何在 IF 语句后重复两个相同的过程?

php - 添加了 if else 参数和从数据库中丢失的变量

Java 字符串和数学表达式计算器

java - 按值获取字段

java - 如何在 java 中标记这个字符串?

php - 从 MySQL 表中解析空行并输出为没有空单元格的 html 表

PHP变量适应表达式中的sql

r - 表达式集 (ESet) 删除带有 NA 的条目

java - 无法加载/保存 ViewModel 属性的属性

java - 了解简单 XML 解析器 - 新文件输出 - Java