1

ツリーを実装しようとしています。ユーザーが各リーフ ノードのチェックボックスをクリックしてリーフ ノードを選択できるようにしたい。ただし、現在、チェックボックスでは機能していません。ツリーは拡張できません。

ここに私のtmlコードフラグメントがあります

<t:zone t:id="treeZone" id="treeZone">
     <t:tree t:id="Tree" t:model="treeModel" t:node="treeNode" >
          <p:label>
                <t:if test="treeNode.leaf">
                        <input t:id="leafNode" t:type="checkbox" value="leaf" />
                        ${treeNode.label}

                    <p:else>
                         ${treeNode.label}
                    </p:else>
                </t:if>
           </p:label>
       </t:tree>
</t:zone>

奪ったら

<input t:id="leafNode" t:type="checkbox" value="leaf" />

その後、ツリーを展開できます。しかし、チェックボックスが必要です。どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1

2

ログファイルに例外があるとしか思えません。

Tree コンポーネントは現在、そのままではフォームとフィールド コンポーネントをサポートしていないと思います。内部でサポート<t:checkbox />などを行うには、 FormFragmentFormInjectorで魔法をかける必要があります。あなたがタペストリーの第一人者でない限り、これを試すことはお勧めしません. コードはAjaxFormLoopに少し似ているかもしれません。<t:textfield /><t:form />

Howard Lewis Ship (Tapestry の作成者) が、Tapestry 5.4 (現在は未リリース) で Tree と Checkbox を一緒に使用することについてツイートしたことを覚えているようです。5.4 のソース コードを確認することをお勧めします。

簡単な修正が必要な場合は、html チェックボックスをレンダリングできます (タペストリー コンポーネントではなく、単純な古い<input type="checkbox" name="..." />)。これには、サーバー側でRequestParameterを処理する必要がある場合があります。

于 2013-07-10T14:43:31.590 に答える