0

我正在编写一个 JSF2.0 组件作为 Java 类和 Renderer 类等等。我不能在 xhtml 中写出部分输出,比如

<h:outputText ... />

因为元素是动态生成的。

  1. 所以我收到消息“按钮/链接/文本组件需要在其祖先中有一个表单。请添加。”。您可以在下面看到我当前如何呈现表单。这也正确吗?或者应该改变一些东西以使警告消失?

    private void encodeForm(Element elem) throws IOException {
        //ResponsWriter writer
        writer.startElement("form", form);
        encodeChildren(elem);
        writer.endElement("form");
    }
    
  2. 是否可以将输入字段连接到在运行时创建的变量(即列表中的对象)?如果是怎么办?如果不是:我必须实现 decode() 方法,对吗?
  3. 我应该如何呈现提交此类表单的按钮?例如,它应该在我的组件中调用一个方法,然后以某种方式(如何?像解码方法?)可以处理用户输入。

谢谢你的帮助!

4

1 回答 1

2

这也正确吗?或者应该改变一些东西以使警告消失?

您最好的选择是删除您显示的代码并要求所述组件的用户将其放置在表单中。

无论如何,您所做的是为表单编写标记。这与将表单组件实际放入树中不同。

于 2012-05-26T14:00:53.087 回答