レコードを表示するループがあり、すべての行に送信ボタンを追加したいとします。彼らが提出する必要がある理由は、ユーザーがボタンの1つを選択したときに残したいと思うフォームが下部にあるためです。Tapestryでコンテキストパラメータが機能しない5.3.2提出用
私はdeferなどの使用に関するコメントを見ましたが、何も私のために働くようです。私がしようとしている現在の提出のコードは次のとおりです。
<input t:id="deleteItem" t:type="submit" t:context="item.number.content" value="deleteItem" class="deleteItem" />
文脈に展開するには: 私が列挙されている現在の状況を、項目オブジェクト内の数のオブジェクト内の単なる文字列です。実際、上のコードでは完全に上に表示されています。
これを別の方法でテストするには、item.number.contentをgetContext()メソッドに置き換え、ハードコードされた1を返してください。このメソッドをデバッグして、ページがサブミットされたときに呼び出されることを確認し、私が期待したようにページがレンダリングされるときではありません。
ボタンが押されるまで、コンテキストにはデータが入力されません。私は何かを誤解していますか?
編集:
私の問題は、コンテキスト値を取得することです。例えば私のコードを取る:
<t:loop source="itemsList" value="item" formState="none">
<!-- Display info here -->
<input t:id="deleteItem" t:type="submit" t:context="myContext" value="deleteItem" class="deleteItem" />
</t:loop>
getMyContextの定義は次のとおりです。
public String getMyContext() {
String context = item.getNumber().getContent();
return context;
}
問題はメソッド、変数「項目」、その時点で押された提出後まで呼び出されない、あります無効である。私は、送信ボタンがレンダリングされるたびにgetMyContextが呼び出されることを期待していました。その後、サブミットが選択されると、イベントは適切なコンテキストでトリガーされます。それは理にかなっていますか?あなたはこのトンを追加ページ/コンポーネントに以下を追加し
決して人が住んでいないとはどういう意味ですか?どのようにイベントハンドラのコンテキストを取得していますか?そのコードを質問に追加できますか? – joostschouten
ありがとう、私は以下を追加しました:私がリストした現在のコンテキストは、アイテムオブジェクト内の数値オブジェクト内の単なる文字列です。実際、上のコードでは完全に上に表示されています。 これを別の方法でテストするには、item.number.contentをgetContext()メソッドに置き換え、ハードコードされた1を返します。このメソッドをデバッグし、ページがサブミットされたときに呼び出されることを確認します。ページは私が予想したようにレンダリングされます。 – DSmyte