我想ManagedBean在我的Converter. ManagedBean负责从数据库中获取数据。在Converter我想将字符串转换为必须从数据库中获取的对象。
这是我的转换器
@FacesConverter(forClass=Gallery.class, value="galleryConverter")
public class GalleryConverter implements Converter {
// of course this one is null
@ManagedProperty(value="#{galleryContainer}")
private GalleryContainer galleryContainer;
@Override
public Object getAsObject(FacesContext context, UIComponent component, String galleryId) {
return galleryContainer.findGallery(galleryId);
...
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object gallery) {
...
}
}
我知道这galleryContainer将是空的,如果我想注入ManagedBean,Converter我也可以标记它ManagedBean。问题是我想以漂亮的方式来做,我不想寻找一些“奇怪的解决方案”。也许问题出在我的应用程序中?也许还有其他一些好的解决方案来创建必须从数据库获取数据并在转换器中使用的对象?我还想提一下,我更喜欢使用DependencyInjection而不是使用语句创建新对象new(它更容易测试和维护)。有什么建议么?