9
Spring BeanをJSF(Primefaces)コンバーターに挿入する必要があります。私はELリゾルバを使って豆を注入しようとしました。しかし、豆はコンバータ内にnull
です。Spring beanをJSFコンバーターに挿入する方法
マイJSFコンバータ:
public class DepartmentConverter implements Converter {
private DepartmentService departmentService;
//getter setter for this property
@Override
public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) {
//codes
}
@Override
public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) {
//Codes
}
}
faces-config.xml
:
<converter>
<converter-id>DepartmentConverter</converter-id>
<converter-class>com.studinfo.jsf.converter.DepartmentConverter</converter-class>
<property>
<property-name>departmentService</property-name>
<property-class>com.studinfo.services.DepartmentService</property-class>
<default-value>#{DepartmentService}</default-value>
</property>
</converter>
ELリゾルバ:私は私のコードをデバッグするとき
<application>
<el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
</application>
、departmentService
プロパティがnull
です。同じ方法で、管理されたJSF Bean内のSpring Beanにアクセスできます。