什么可以作为JSF中的逻辑NamingContainer?

时间:2014-07-23 20:46:54

标签: jsf-2

假设我有

<ui:composition 
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:p="http://primefaces.org/ui" 
    xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
    <div>
        <p:accordionPanel id="accordionPanel" multiple="false" >
            <div >
                <p:tab title="aTab">
                    <!--logical naming container tag open-->
                    <h:form>
                        <h:inputText id="inputText" value="#{backingBean.property}">
                            <f:ajax event="change" listener="#{backingBean.onChange}" render="@form ..:autoCompleteForm:autoComplete"/>
                        </h:inputText>
                    </h:form>
                    <h:form id="autoCompleteForm">
                        <p:autoComplete id="autoComplete" value="#{backingBean.property2}" disabled="#{backingBean.disabled}"/>
                    </h:form>
                    <!--logical naming container tag close-->
                </p:tab>
            </div>
        </p:accordionPanel>
    </div>
</ui:composition>

我希望从第一个表单中相对引用autoComplete。根据{{​​3}},如果指定了..:,则相对于最接近的命名容器和最接近命名容器的最近命名容器,将解析相对id规范。根据{{​​3}} Tab isn&#39; ta NamingContainer(也不是AccordionPanel)这使我需要一个逻辑命名容器元素,我想把它放在评论的位置是为了将相对引用的复杂性降低到最小。这样一个逻辑命名容器会是什么(我认为不允许嵌套表单(http://illegalargumentexception.blogspot.de/2009/02/jsf-working-with-component-ids.html))?

1 个答案:

答案 0 :(得分:1)