如何在挂毯 tml 中进行计算?
How to do calculation in tapestry tml?
我是 Tapestry 的新手,如果我犯了错误,我深表歉意,我已经阅读了文档,但对在前端计算数据一无所知。
我的例子:
Hello.Java
public class Hello {
@Property
@Persist
private int numberA;
@Property
@Persist
private int numberB;
void onPrepare(){
this.numberA = 2;
this.numberB = 3;
}
}
Hello.tml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" t:type="layout"
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd"
xmlns:p="tapestry:parameter">
Total: <input type="number" value="${numberA+numberB}"></input>
</html>
当 运行 我得到这个错误:
org.apache.tapestry5.ioc.internal.util.TapestryException: Could not
convert 'numberA+numberB' into a component parameter binding
如有任何信息,我们将不胜感激。
谢谢
Tapestry 的表达语言有意精简,并排除了数学表达式之类的东西。任何比 属性 评估复杂得多的东西都属于相应的组件 class(同名的 Java 文件)。否则会导致同一文件中标记和代码的混合逐渐变得越来越混乱。
只需创建一个简单的 getter —— 例如,getSum() —— returns 你想要的总和,然后在 tml 文件中使用表达式 ${sum}
我是 Tapestry 的新手,如果我犯了错误,我深表歉意,我已经阅读了文档,但对在前端计算数据一无所知。
我的例子:
Hello.Java
public class Hello {
@Property
@Persist
private int numberA;
@Property
@Persist
private int numberB;
void onPrepare(){
this.numberA = 2;
this.numberB = 3;
}
}
Hello.tml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" t:type="layout"
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd"
xmlns:p="tapestry:parameter">
Total: <input type="number" value="${numberA+numberB}"></input>
</html>
当 运行 我得到这个错误:
org.apache.tapestry5.ioc.internal.util.TapestryException: Could not convert 'numberA+numberB' into a component parameter binding
如有任何信息,我们将不胜感激。
谢谢
Tapestry 的表达语言有意精简,并排除了数学表达式之类的东西。任何比 属性 评估复杂得多的东西都属于相应的组件 class(同名的 Java 文件)。否则会导致同一文件中标记和代码的混合逐渐变得越来越混乱。
只需创建一个简单的 getter —— 例如,getSum() —— returns 你想要的总和,然后在 tml 文件中使用表达式 ${sum}