У меня есть следующие пункты меню в index.xhtml
<p:menuitem ajax="false" value="A" action="#{bean.start('A')}" />
<p:menuitem ajax="false" value="B" action="#{bean.start('B')}" />
Следующий код на моем компоненте поддержки не работает, когда компонент ViewScoped
(я не хочу его делать SessionScoped
):
@Named
@ViewScoped
public class Bean implements Serializable {
private LetterEnum letter;
public String findBSEmpty(String str) {
if (saison.equals("A")) {
this.letter = LetterEnum.A;
return "a.xhtml";
} else {
this.letter = LetterEnum.B;
return "b.xhtml";
}
}
public void doSomthing(){
//Method called from other a.xhtml and b.xhtml
//Processing data depending on the value of "letter"
}
Я знаю, что компоненты видимости перерабатываются после каждого изменения представления, и я должен начинать с index.xhtml
, и в зависимости от выбора пользователя приложение будет отображать a.xhtml
или b.xhtml
для продолжения обработки других данных.Я что-то упустил?
Каковы лучшие практики для этого вида навигации?
Кстати, я использую JSF 2.2 с Payara 4