@ApplicationScoped
マネージドBeanを自分のコピーに置き換えるにはどうすればよいFacesContext
ですか?私が持っているのはFacesContext
(私はJSFUnitの中にいます)のインスタンスだけです。
2910 次
1 に答える
4
アプリケーションスコープのBeanは、管理対象Bean名をキーとしてアプリケーションマップに格納されます。
したがって、これは次のことを行う必要があります。
FacesContext.getCurrentInstance().getExternalContext()
.getApplicationMap().put("managedBeanName", new Bean());
ちなみに、JSFの詳細はサーブレットAPIまでカバーしており、アプリケーションマップは単なるServletContext
属性のマッピングです。ServletContext
あなたが自分の手にしか持っていないことがいつ起こるかを知るのに役立ちます。また、同じ行で、セッションマップはHttpSession
属性にマップされ、リクエストマップはHttpServletRequest
属性にマップされます。それらをそれぞれセッションおよびリクエストスコープのBeanに使用します。
于 2011-03-02T21:26:07.170 に答える