gpt4 book ai didi

java - 如何将一个 java bean 的属性传递给另一个 java bean?

转载 作者:行者123 更新时间:2023-11-30 09:29:45 24 4
gpt4 key购买 nike

我正在尝试从一个托管 bean 获取一个值到另一个。我有一个获取用户名的 loginbean,我需要获取该值并将其放入另一个托管 bean sidebarbean。我正在使用 JSF 并认为我可以做类似的事情#{sidebarbean.setUserName(loginbean.username)} 但这不起作用。有什么建议吗?

按照您的建议

@ManagedBean(name = "sidebarbean")
@SessionScoped
public class SideBarBean {
private ArrayList myContacts = new ArrayList();
private String user;
@PersistenceContext
private EntityManager em;
@Resource
private UserTransaction utx;

public SideBarBean() {

}

public ArrayList getMyContacts() {
myContacts.clear();
List<Contacts> list = em.createNamedQuery("Contacts.findByUsername")
.setParameter("username", user).getResultList();
for (Contacts c : list) {
myContacts.add(c.getContact());
}
return myContacts;
}

public void setMyContacts(ArrayList myContacts) {
this.myContacts = myContacts;
}

public String getUser() {
return user;
}

public void setUser(String user) {
this.user = user;
}
}

@ManagedBean(name = "loginbean")
@SessionScoped
public class LoginBean {
@PersistenceContext
private EntityManager em;
@Resource
private UserTransaction utx;
@ManagedProperty(value="#{sidebarbean}")
private SideBarBean sbb;
private String username;
private String password;
private Boolean verified = false;
private Boolean authFail = false;

public LoginBean() {
}

public void update(){
sbb.setUser(username);
}

我收到“无法创建托管 bean loginbean。发现以下问题:- 托管 bean loginbean 的属性 sbb 不存在。检查是否存在适当的 getter 和/或 setter 方法。”

最佳答案

您可以使用 @ManagedProperty注释,然后您可以访问 SideBarBean 的相同实例。

@ManagedBean(name="loginbean")
public class LoginBean{

@ManagedProperty(value="#{sidebarbean}")
private SideBarBean sidebarbean;

public void update(){

sidebarbean.setUserName("xxxx");

}

}

关于java - 如何将一个 java bean 的属性传递给另一个 java bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13556093/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com