假设我有
<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))?