2013-06-08 3 views
1

У меня есть шаблон из одного заголовка и одного тела. В заголовке есть компонент ajax Primefaces, который должен обновлять части моего тела. Проблема заключается в том, что страницы, которые реализуют шаблон тела, имеют панели и другие компоненты с разными идентификаторами, а атрибут update компонента моего заголовка ожидает список идентификаторов.Атрибут обновления Primefaces с шаблонами в JSF

Что мне нужно? Мне нужно, чтобы мои страницы задавали атрибут update компонента заголовка. Таким образом, в любом месте моего потока приложений компонент заголовка будет обновлять правильные части конкретной страницы.

Возможно ли это?

Работает на PrimeFaces 3.5, Mojarra 2.1.13, JDK 1.6.x. Благодаря!

ответ

1

Если я правильно undertand, вот как вы можете это сделать:

Ваш главный шаблон должен выглядит следующим образом (скажем index.xhtml):

<h:head> 

</h:head> 
<h:body> 
    <h:form> 
     <p:commandButton update="#{regions}" value="Update" /> 
    </h:form> 

    <ui:insert name="page" /> 
</h:body> 

И каждый или ваша страница должен выглядеть следующим образом (скажем page.xhtml):

<ui:composition template="index.xhtml"> 
    <ui:param name="regions" value=":panel1" /> 

    <ui:define name="page"> 
     <p:panel id="panel1"> 
      <h:outputText value="#{bean.date}" /> 
     </p:panel> 
     <p:panel id="panel2"> 
      <h:outputText value="#{bean.date}" /> 
     </p:panel> 
    </ui:define> 
</ui:composition> 

В этом примере аль Вам нужно изменить значение ui:param в соответствии со списком компонентов, которые вы хотите обновить. Обратите внимание на идентификаторы формы и prependId="false".

+0

Alexandre, это именно то, что мне нужно! Благодаря! –

Смежные вопросы