java - JSF:HtmlPanelGroup 中的子 ID 不正确(忽略 HtmlPanelGroupId)

标签 java jsf

我想将一个带有 id 的标签和一个带有 id 的输入字段添加到面板组(布局框),它有自己的 id。 我希望标签和输入字段具有以下 ID:(viewid):(formid):(panelgroupid):(own id) 但不知何故,panelgroupid (fachlich1) 没有传递给 children 。

<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 + 标签 + inputtext 组成。 我从 HtmlPanelGroup 扩展并覆盖 encodeBegin 方法,我将布局设置为 block ,设置面板组的 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)
}

最佳答案

只有 NamingContainer 的实现接口(interface)会将其自己的 ID 添加到其子代的 ID 之前。根据 javadoc它是以下组件:

All Known Implementing Classes:

HtmlDataTable, HtmlForm, UIData, UIForm, UINamingContainer

HtmlPanelGroup , 由 <h:panelGroup> 支持, 不在其中。在标准 JSF 中,只有 <h:dataTable><h:form>实现它。在标准 Facelets 中,只有 <ui:repeat>也实现了它(通过 UINamingContainer )。

这应该不构成任何技术问题。如果您认为您的具体问题(您在问题中没有提及任何内容)是由此引起的,那么您可能找到了错误的原因,并且必须从不同的方向寻找具体问题的原因。

关于java - JSF:HtmlPanelGroup 中的子 ID 不正确(忽略 HtmlPanelGroupId),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11294869/

相关文章:

java - OneDrive REST API 为文件上传提供 400 个无效动词

java - 生成图像的 base64 字符串以在数据 URI 中使用

java - 如何使用 URLClassLoader 加载 *.class 文件?

java - 如何避免/抑制 JSF <h :selectOneMenu/> null (no selection option) tab?

jsf - OmniFaces Param.validatorAttributes 的使用

Java如何将字符串转换为整数名称

java - 从 spring Rest 文档生成 ascii doc api 文档

ajax - JSF 2 部分请求不使用工厂中的 FacesContext

java - JBoss AS 7.1.1 没有获取我的 JSF 实现

java - 在 JSF saveState() 期间,HashMap 中的线程停留在 100% 的 CPU 使用率