【发布时间】:2012-01-20 16:24:18
【问题描述】:
我已经有一个会话范围的 CDI bean,它保持当前登录的用户数据。 现在,从另一个请求范围内,我想访问这个 bean 以获取一些数据。我有一些操作要做,这取决于用户登录。这是我需要的唯一信息。
如何访问它?
AccountBean.java:
@Named("accountBean")
@SessionScoped
public class AccountBean implements Serializable {
private static final long serialVersionUID = 16472027766900196L;
@Inject
AccountService accountService;
private String login;
private String password;
// getters and setters ommited
}
login.xhtml 的一部分:
<h:form>
<h:panelGrid columns="2">
#{msgs.loginPrompt}
<h:inputText id="login" value="#{accountBean.login}" />
#{msgs.passwordPrompt}
<h:inputSecret id="password" value="#{accountBean.password}" />
<h:commandButton value="#{msgs.loginButtonText}"
action="#{accountBean.login}" />
</h:panelGrid>
</h:form>
SearchBean.java:
@Named("searchBean")
@RequestScoped
public class SearchBean {
@Inject AccountBean accountBean;
// some other stuff
}
【问题讨论】:
-
嗨@rivasket!你解决了这个案子吗?我现在正遇到这个麻烦!如果你能告诉我就好了。