我們有一個非常複雜的JSF託管bean配置文件,如下所示。
有什麼辦法將其轉換爲某種CDI配置?
現在,當我們在AbcConfigFactory
上使用@Inject
時,它不會初始化配置文件中的值。我想這是因爲我們使用CDI來初始化它而不是JSF ......或者類似的東西。 :)將託管屬性的JSF轉換爲CDI
<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="1.2"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
<managed-bean>
<managed-bean-name>AbcConfig</managed-bean-name>
<managed-bean-class>com.a.b.c.AbcConfigFactory</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
<managed-property>
<property-name>abcSites</property-name>
<list-entries>
<value-class>com.a.b.c.SiteConfigBean</value-class>
<value>#{SiteConfig$A}</value>
<value>#{SiteConfig$B}</value>
</list-entries>
</managed-property>
</managed-bean>
<managed-bean>
<managed-bean-name>SiteConfig$A</managed-bean-name>
<managed-bean-class>com.a.b.c.SiteConfigBean</managed-bean-class>
<managed-bean-scope>none</managed-bean-scope>
<managed-property>
<property-name>siteName</property-name>
<value>A</value>
</managed-property>
<managed-property>
<property-name>starConfig</property-name>
<property-class>com.a.b.c.StarConfigBean</property-class>
<value>#{StarConfig$A}</value>
</managed-property>
</managed-bean>
<managed-bean>
<managed-bean-name>SiteConfig$B</managed-bean-name>
<managed-bean-class>com.a.b.c.SiteConfigBean</managed-bean-class>
<managed-bean-scope>none</managed-bean-scope>
<managed-property>
<property-name>siteName</property-name>
<value>B</value>
</managed-property>
<managed-property>
<property-name>starConfig</property-name>
<property-class>com.a.b.c.StarConfigBean</property-class>
<value>#{StarConfig$A}</value>
</managed-property>
</managed-bean>
<managed-bean>
<managed-bean-name>StarConfig$A</managed-bean-name>
<managed-bean-class>com.a.b.c.StarConfigBean</managed-bean-class>
<managed-bean-scope>none</managed-bean-scope>
<managed-property>
<property-name>siteName</property-name>
<value>A</value>
</managed-property>
</managed-bean>
</faces-config>
我**認爲**我們使用XML配置來更容易地配置應用程序。但我不確定在這裏。 – Pierre