You*_*raf 1 jsf spring primefaces
我无法在jsf转换器中使用@Autowired注入服务:
转换器:
@Component("advertiserConverter")
@FacesConverter("advertiserConverter")
public class AdvertiserConverter implements Converter , Serializable {
@Autowired
private IAdvertiserService advertiserService;
public Object getAsObject(FacesContext context, UIComponent component, String value) {
if (value == null || value.length() == 0) {
return null;
}
Long id = Long.parseLong(value);
return advertiserService.findAdvertiser(id);
}
public String getAsString(FacesContext context, UIComponent component, Object value) {
return value instanceof Advertiser ? ((Advertiser) value).getId().toString() : "";
}
}
Run Code Online (Sandbox Code Playgroud)
applicationContext.xml中:
<context:annotation-config />
<context:component-scan base-package="com.test.example"/>
<tx:annotation-driven />
Run Code Online (Sandbox Code Playgroud)
服务:
@Service
@Transactional
public class AdvertiserServiceImpl implements IAdvertiserService {
}
Run Code Online (Sandbox Code Playgroud)
最后我找到了解决方案:
转换器:
@Service
public class AdvertiserConverter implements Converter{
Run Code Online (Sandbox Code Playgroud)
XHTML:
converter="#{advertiserConverter}"
Run Code Online (Sandbox Code Playgroud)
代替
converter="advertiserConverter"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4247 次 |
| 最近记录: |