我需要从 servlet 访问会话范围的 bean。我已经试过了
UserBean userBean = (UserBean) request.getSession().getAttribute("userBean");
如本文所述。但是我只得到 null 结果,尽管 UserBean 的一个实例已经被实例化了。这些是我用于 userBean 的注释/导入:
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean
@SessionScoped
public class UserBean implements Serializable{
... }
为什么我无法摆脱 servlet 的一些背景:我的 jsf 页面中有一个文件上传小程序。这个小程序需要一个可以发送它的 POST 请求的地址。(我无法编辑此帖子请求以添加更多字段或其他内容)。然后我的 servlet 的 post 方法存储该文件。这项工作不能由托管 bean 完成,因为 servlet 必须使用 @MultiPartConfig 进行注释,并且我无法将此注释添加到 jsf 托管 bean。