如何在自定义Converter内部访问EJB bean
这个converter
是从我的JSF调用的。 我已经在faces-config.xml
注册了它
public class ProjectConverter implements Converter{ @EJB DocumentSBean sBean; @ManagedProperty(value="#{logging}") private Logging log; public ProjectConverter(){ } public Object getAsObject(FacesContext context, UIComponent component, String value) { if(value.trim().equals("")){ return null; } return sBean.getProjectById(value); } public String getAsString(FacesContext context, UIComponent component, Object value) { if(value == null){ return null; } return String.valueOf(((Project) value).getId()); } }
我遇到java.lang.NullPointerException
,当我在getAsObject()
,主要原因是因为我的Session Bean sBean
为null。 我不知道如何解决这个问题,我需要访问我的Session bean,以便我可以从我的数据库中查询
正如BalusC所说,注射仅适用于托管豆类。 但是,您可以在faces-config中将转换器声明为托管bean
myConverter com.example.MyConverter request
然后在具有el表达式的jsf组件中引用它:
- Spring安全性:期望只为类型接口找到一个bean org.springframework.security.authentication.AuthenticationManager
- Spring Security:我知道用户何时登录?
- 如何正确配置嵌入式OpenEJB容器以进行测试?
- 最新的unit testing框架EJB3 / JPA
- 如何避免使用collection fetch指定的警告“firstResult / maxResults; 在内存中应用!“在使用Hibernate时?
- 调用entityManager.getTransaction()时的EJBException
- JPA实体没有主键?
- java.lang.IllegalStateException:具有@ManyToMany 3实体的同一实体的多个表示forms
- 在启动时(在JBoss上)急切/自动加载EJB / load EJB
- EJB3 bean可以“自我注入”并通过EJB容器调用自己的方法吗?
- Glassfish 3.0:部署ejb模块时出现exception……无效的ejb j ar:它包含零ejb