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 />
id による Index.tml 内 (または、カスタム コンポーネントに実装するためにさらに何かが必要ですか?)