Richfaces 4ショーケースのコードを変換して、JSFアノテーションの代わりにCDIを使用しようとしています。
@Named
交換@MangedBean
および@Inject
交換に使用できることを理解してい@ManagedProperty
ます。しかし、私はいくつかの問題を抱えています。RichFacesツリーの例を具体的に変換しようとしています。
私は次の変更を行いましたが、これは正しくないことがわかっているので、これを使用しないでください。
//@ManagedBean
//@ViewScoped
@Named
@SessionScoped
public class TreeBean implements Serializable {
private static final long serialVersionUID = 1L;
// @ManagedProperty(value = "#{cdsParser.cdsList}")
// private List<CDXmlDescriptor> cdXmlDescriptors;
@Inject
private Instance<CDXmlDescriptor> cdXmlDescriptors;
// I also Tried :
// @Inject
// private CDParser cdsParser;
// private List<CDXmlDescriptor> cdXmlDescriptors = cdsParser.getCdsList();
........
それから私は追加しました(そしてこれが必要かどうかはわかりません):
@Named
@SessionScoped
public class CDXmlDescriptor implements Serializable { ...
変更:
//@ManagedBean(name = "cdsParser")
@Named("CDParser")
//@Named
@SessionScoped
public class CDParser implements Serializable{
/**
*
*/
private static final long serialVersionUID = 3890828719623315368L;
@Named
private List<CDXmlDescriptor> cdsList;
@ManagedProperty(value = "#{cdsParser.cdsList}")
CDIを使用して置き換える適切な方法がわかりませんか?