我正在使用 Apache Tapestry5 开始冒险。我正在尝试制作由一对文本字段组成的简单组件(用于测试)。组件名为“TestComp”。我有以下元素:
testComp.tml
<t:container
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd">
<p>
<input t:type="TextField" t:id="testOne" t:value="testOne.input"/><br/>
<input t:type="TextField" t:id="testTwo" t:value="testTwo.input"/><br/>
</p>
</t:container>
TestComp.java
public class TestComp {
private DataContainer testOne;
private DataContainer testTwo;
@SetupRender
public void setup(){
testOne = new DataContainer();
testTwo = new DataContainer();
}
public String getContentOfTestOne() {
return testOne.getInput();
}
public String getContentOfTestTwo() {
return testTwo.getInput();
}
public DataContainer getTestOne() {
return testOne;
}
public void setTestOne(DataContainer testOne) {
this.testOne = testOne;
}
public DataContainer getTestTwo() {
return testTwo;
}
public void setTestTwo(DataContainer testTwo) {
this.testTwo = testTwo;
}
}
然后我尝试在其他地方使用它,例如在 index.tml 中:
<form t:type="form" t:id="out">
<t:testComp />
<br/><input type="submit" value="Component"/>
</form>
根据我发现的数十种材料和示例(老实说,没有一个类似于我的案例)这样的实现应该在表单中显示 testComp 元素,但不幸的是,按钮上方没有呈现任何内容(尽管挂毯是不崩溃)。我错过了什么?我是否能够放入 TestComp 类型的 Index.java 属性并将其与我的绑定
<t:testComp />
在 Index.tml 中按 id (或者它需要在我的自定义组件中实现更多的东西?)