3 回答

TA贡献1834条经验 获得超8个赞
这个,
import javax.faces.view.ViewScoped;
是JSF 2.2引入的特定于CDI的注释,旨在与特定于CDI的bean管理注释结合使用@Named。
但是,您正在使用特定于JSF的bean管理注释@ManagedBean。
import javax.faces.bean.ManagedBean;
然后,您应该使用同一javax.faces.bean包提供的任何作用域。右边@ViewScoped在那:
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
@ManagedBean
@ViewScoped
public class MenusBean implements Serializable{
如果使用错误的组合,则该Bean的行为类似于@RequestScopedBean,并在每次调用时重新创建。
或者,如果您的环境支持CDI(带有Weld的GlassFish / JBoss / TomEE,OpenWebBeans等),则也可以替换@ManagedBean为@Named:
import javax.inject.Named;
import javax.faces.view.ViewScoped;
@Named
@ViewScoped
public class MenusBean implements Serializable{
建议改用CDI。特定于JSF的Bean管理注释是在将来的JSF / Java EE版本中不推荐使用的注释,因为一切都在朝着CDI缓慢/统一发展。

TA贡献1810条经验 获得超5个赞
无法在Mojarra 2.2.4上的Tomcat 7.0.47上重现它,并且不能以问题的当前形式发布该问题的确切代码。您是否熟悉基本HTTP以及有关传递请求参数,Cookie等的信息?在Chrome中按F12键,然后点击“ 网络”标签即可查看。它应该提供有关该问题的线索(例如,缺少会话cookie)
添加回答
举报