1

我想在我的 facesconfig.xml 中映射这个 bean

public class VisualizationBean {

    private BitSet results;

    public BitSet getResults() {
        return results;
    }

    public void setResults(BitSet results) {
        this.results = results;
    }

}

正如我在一些文章和一些示例中看到的,可以初始化地图或其他字段,但我不知道如何初始化这个字段。我想类似于

 <managed-bean>
        <managed-bean-name>visualizationBean</managed-bean-name>
        <managed-bean-class>path.bean.VisualizationBean</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
        <managed-property>
            <property-name>results</property-name>
            <map-entries>
                <map-entry>
                    <key>true</key>
                    <value>6</value>
                </map-entry>
                <map-entry>
                    <key>false</key>
                    <value>12</value>
                </map-entry>
                <map-entry>
                    <key>false</key>
                    <value>24</value>
                </map-entry>                
            </map-entries>
        </managed-property>        
    </managed-bean>

但是 htis 是不正确的。有什么帮助吗??提前致谢

4

1 回答 1

1

你不能。BitSet不实现Map且 JSF 不提供预设其他托管属性数据结构的工具,而List不是Map.

你基本上有2个选择:

  1. 改用 a Map<Object, Boolean>(请注意,您需要反转faces-config.xml; 中的键/值,键应该是唯一的!)

  2. BitSet在基于其他一些外部文件(如文件)的 bean(后)构建期间填充自己.properties

于 2011-03-01T13:11:10.083 回答