У меня есть .xhtml с двумя кнопками командной строки и двумя выходными панелями. Все внутри той же формы. Когда я нажимаю на commandlink, почему мне нужно явно указывать, какие панели вывода нужно отображать? Если ничего не указано, не следует полностью пересмотреть представление на основе следующего описания из Spec (или) Я смешиваю вещи?JSF/Facelets ajax view render issue
Как нам действительно нужно установить action="navigation-rule"
, когда мы хотим обновить компонент в том же виде?
Link controls are typically used to perform complete form submissions for data storing.
As a consequence, the <a4j:commandLink> component has the execute="@form" setting by default.
Любой вход очень ценен.
Вот код для справки:
<h:form>
<div>
<a4j:outputPanel layout="block">
<!--Tab1 -->
<a4j:commandLink
id="homeTabLinkId"
value="Tab1"
actionListener="somelistener" render="contentDIVId">
<h:outputText value=""/>
</a4j:commandLink>
<!--Hosts Tab -->
<a4j:commandLink
id="hostsTabLinkId"
value="Tab2"
actionListener="anotherlistener" render="contentDIVId">
<h:outputText value=""/>
</a4j:commandLink>
</a4j:outputPanel>
</div>
<a4j:outputPanel layout="block" id="contentDIVId">
<!-- dynamically gets src based on tab click -->
<ui:include id="tabBodyPanel" src="elexpression"/>
</a4j:outputPanel>
<a4j:outputPanel layout="block" id="anotherdiv">
<h:outputText value="Inside second div"/>
</a4j:outputPanel>
</h:form>
Hi BalusC: Некоторые, как a4j: commandlink имеет это описание в спецификации, которая меня путала. Другое, если у нас есть запрос с привязкой к бобам, то нужно ли нам указывать action = navigation-rule-id в компоненте? – kosa
Нет, результат «null» или «void» по умолчанию соответствует текущему виду. Разница с бобами, обработанными запросами, заключается в том, что они только что воссозданы по каждому запросу. – BalusC
Отлично! Спасибо за ваше время. – kosa