我想将带有 id 的标签和带有 id 的输入字段添加到具有自己的 id 的面板组(布局框)。我希望标签和输入字段具有以下 id: (viewid):(formid):(panelgroupid):(own id) 但不知何故 panelgroupid (fachlich1) 不会传递给孩子。
<form id="viewns_Z7_6PQJDK4JGD09F0I34QTLQH2015_:j_id_3" …>
<div id="viewns_Z7_6PQJDK4JGD09F0I34QTLQH2015_:j_id_3:fachlich1">
<label id="viewns_Z7_6PQJDK4JGD09F0I34QTLQH2015_:j_id_3:label" for="viewns_Z7_6PQJDK4JGD09F0I34QTLQH2015_:j_id_3:value">Bla</label>
<input id="viewns_Z7_6PQJDK4JGD09F0I34QTLQH2015_:j_id_3:value" type="text" value="Blubb34534" name="viewns_Z7_6PQJDK4JGD09F0I34QTLQH2015_:j_id_3:value">
</div>
</form>
任何线索我可能做错了什么?:(
谢谢你的帮助!
编辑:
我想创建自己的组件,该组件基本上由周围的 div + label + inputtext 组成。我从 HtmlPanelGroup 扩展并覆盖 encodeBegin 方法,在其中我将布局设置为块,设置面板组的 id,添加组件,之后我调用 super.encodeBegin:
public void encodeBeginn(FacesContext context)
{
setLayout("block");
setId(getId());
HtmlOutputLabel label = new HtmlOutputLabel();
label.setId("label");
label.setFor("value");
label.setValue(getLabel());
getChildren().add(label);
HtmlInputText text = new HtmlInputText();
text.setId("value");
text.setValue(getValue());
getChildren().add(text);
super.encodeBeginn(context)
}