0

У меня есть одна страница с условно визуализированным контентом, управляемая несколькими ссылками в sidemenu. Все это содержимое имеет datatable, который по умолчанию присваивается false. Все работает, за исключением того, что когда страница загружает все бобы, выполняются, и все бобы выполняют дорогостоящую работу с базами данных.Как НЕ инициализировать бобы при загрузке страницы, связанной с условно отображаемым контентом

Я бы хотел, чтобы при нажатии пользователем sidemenu соответствующий файл будет отображаться, и только тогда соответствующий управляемый компонент будет инициализирован. Как я могу это достичь?

ответ

1

У вас есть в основном два варианта:

  1. Не перемещаться по Ajax. Вместо этого перейдите по GET. См. Также How to navigate in JSF? How to make URL reflect current page (and not previous one).

  2. Или, не условно визуализируйте контент. Вместо этого условно создавайте контент. См. Также How to ajax-refresh dynamic include content by navigation menu? (JSF SPA)

+0

спасибо! 2-я ссылка выглядит очень хорошо –

0

Я недавно столкнулся с такой проблемой. Я решил использовать такое же условие, которое я использую, чтобы решить рендеринг или не отображать тот или иной компонент, чтобы решить инициализировать или не инициализировать его поддерживающие переменные. Например у вас есть JSF страницы с кодом:

<h:outputText rendered="#{bean.isRendered()}" value="#{bean.text}"/> 

и боб следующее:

@PostConstruct 
public void init(){ 
    if(isRendered){ 
      text = "Hello World"; 
    } 
} 

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

  • Нет связанных вопросов^_^