一尘不染

JSP Bean通信

jsp

我正在尝试为评估创建JSP方面。目前,我对一些简单的问题有些困惑:

我有一个LoginBean和一个ActionBean。

对于ActionBean的一种方法,我需要用户名,该用户名存储在LoginBean中。

我已经将Loginbean设置为会话范围。

问题:

如何从ActionBean的LoginBean对象获取Username变量?

我试过的

FacesContext context= FacesContext.getCurrentInstance();
context.getAttributes().put("Username",Usernamevariable);

在Bean中,Loginpage使用该Bean来检查用户是否可以登录并

Username=context.getAttributes().get("Username").toString();

在想要执行需要用户名的操作的Bean中。

第二个想法没有用,因为它是到不同的页面,所以上下文是不同的。

什么是可行的解决方案?


阅读 251

收藏
2020-06-10

共1个答案

一尘不染

这应该在ActionBean中完成

    LoginBean loginBean= (LoginBean) FacesContext.getCurrentInstance()
        .getApplication()
        .evaluateExpressionGet(facesContext, "#{LoginBean}", LoginBean.class);
    // after that you can do sth like this
    String username = loginBean.getUsername();
2020-06-10