将参数传递给ViewScoped bean

时间:2018-11-29 12:16:08

标签: jsf-2.2 payara

我在index.xhtml中有以下菜单项

<p:menuitem ajax="false" value="A" action="#{bean.start('A')}" />
<p:menuitem ajax="false" value="B" action="#{bean.start('B')}" />

当bean为ViewScoped时,我的支持bean上的以下代码不起作用(我不想将其设为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"
}

我知道每次更改视图后都会回收视图范围的bean,并且必须从index.xhtml开始,并且根据用户的选择,应用程序将显示a.xhtmlb.xhtml继续处理其他数据。 我在想什么吗?

关于这种导航的最佳实践是什么?

顺便说一句,我正在将JSF 2.2与Payara 4一起使用

0 个答案:

没有答案