Java 文件树中的复选框

Java 文件树中的复选框,java,tapestry,Java,Tapestry,所以问题是,我得到了一个运行时错误,关于在文件树中生成的复选框需要在表单元素中。问题是,它位于表单元素内部,但表单元素被包裹在树上,如下所示: <t:Form t:id="form> <t:Tree t:id="tree" model="model" node="node"> <p:label> ${node.label} <t:Checkbox value="checkboxNode.selected" />

所以问题是,我得到了一个运行时错误,关于在文件树中生成的复选框需要在表单元素中。问题是,它位于表单元素内部,但表单元素被包裹在树上,如下所示:

<t:Form t:id="form>
  <t:Tree t:id="tree" model="model" node="node">
    <p:label>
      ${node.label}
      <t:Checkbox value="checkboxNode.selected" />
    </p:label>
  </t:Tree>
</t:Form>
如前所述:

树不是窗体控件组件


查看一下
AjaxFormLoop
的源代码以及它处理AJAX表单更新的方式,我相信您需要根据自己的需要构建一个自定义组件。

最终使用了不同的路径。我遇到的问题是,我想不出一种方法来告诉服务器端的布尔值根据客户端的复选框进行更新

原因是布尔值是根据需要生成的,而不是页面Java端的固定集合。尝试将唯一ID链接到服务器端的布尔值,但即使这样,我也无法确定将这些ID与客户端的复选框关联的方法

因此,我选择了eventlinks,它可以考虑上下文。我刚刚将生成的树节点ID作为上下文传入,它可以在eventlink中搜索节点,并添加到服务器上的“选定”列表中