Я очень близок к решению, но что-то не так. Я сделал все, как вы сказали: 1-я и 2-я проблема решены. Проблема в том, что панель carInfo не отображается при выборе категории.
Что-то не так с методом в управляемом компоненте?
По какой-то причине он не вызывается.
Вот так выглядит мой код
Управляемый боб
public void carSelectedEvent(ValueChangeEvent e) {
String tmp = (String) e.getNewValue();
System.out.println("CALLED!!!!!");
if (selectedCategory.trim().equals("automobili")) {
carCategorySelected = true;
} else if (e.getNewValue().toString().contains("NEKRETNINE")) {
}
}
Выбор страницы JSF
<h:selectOneMenu value="searchController.selectedCategory">
<f:selectItems value="#{searchController.formatedCategories()}" ></f:selectItems>
<f:ajax event="change" action="searchController.carSelectedEvent" render="carInfo"/>
</h:selectOneMenu>
Панель JSF, которая должна отображаться
<h:panelGroup id="carInfo" rendered="searchController.carCategorySelected">
...
Когда я перехожу на страницу, все в порядке, но я замечаю это сообщение в консоли:
ИНФОРМАЦИЯ: ВНИМАНИЕ: FacesMessage (s) были поставлены в очередь, но могут не иметь
был отображен. sourceId = null [серьезность = (ОШИБКА 2), сводка = (Один или несколько
ресурсы имеют цель «голова», но ни один из компонентов «голова» не был
определяется в представлении.), detail = (Один или несколько ресурсов имеют
цель 'head', но в пределах
вид.)]