【发布时间】:2012-01-30 08:12:26
【问题描述】:
如何将托管 bean 的属性注入自定义转换器?
例如,一个通用列表,以便我可以从转换器内部的列表中提取我的对象?
【问题讨论】:
标签: list jsf properties javabeans converter
如何将托管 bean 的属性注入自定义转换器?
例如,一个通用列表,以便我可以从转换器内部的列表中提取我的对象?
【问题讨论】:
标签: list jsf properties javabeans converter
在某些情况下,当您需要将 ManagedBean、EJB 等 bean 注入 Converter 或 Validator 时,您可以尝试将 Converter 或 Validator 注释为 ManagedBean。例如,你可以试试这个:
@ManagedBean
@RequestScoped
public class MyConverter implements Converter {
@EJB
private MrEJBBean mrEJBBean;
@ManagedProperty(value="#{mrsManagedBean}")
private MrsManagedBean mrsManagedBean;
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
// Convert to object
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
// Convert to string
}
}
您可以在this 上查看Validator 的示例。
【讨论】:
Converter 必须通过托管 bean 值绑定表达式而不是通过注册的转换器 ID 来引用。