我在faces-config.xml中有一个映射的bean
<managed-bean>
<managed-bean-name>beanName</managed-bean-name>
<managed-bean-class>java.util.HashMap</managed-bean-class>
<managed-bean-scope>view</managed-bean-scope>
<managed-property>
<property-name>elements</property-name>
<map-entries>
<key-class>java.lang.String</key-class>
<value-class>path.InputFormElementContainer</value-class>
</map-entries>
</managed-property>
</managed-bean>java的实现是:
public class InputFormElementContainer implements List<InputFormElement>, Serializable{
private static final long serialVersionUID = -4685106549564090233L;
private List<InputFormElement> elements;
//Empty Constructor
public InputFormElementContainer() {
elements = new ArrayList<InputFormElement>();
}
public List<InputFormElement> getElements() {
return elements;
}
public void setElements(List<InputFormElement> elements) {
this.elements = elements;
}
}但是,当我刷新我的应用程序时,我会得到这个错误:
com.sun.faces.mgbean.ManagedBeanCreationException: No se puede crear el bean administrado beanName. Se han encontrado los problemas siguientes:
- No existe la propiedad elements para el bean administrado beanName.翻译成英文可能是:无法创建受管理的beanName,因为以下问题: beanName不存在elemts属性。
我在迁移到JSF2时遇到了这个问题。我在阅读教程,但我不知道如何在JSF2中使用manage。有人能帮我吗?
提前感谢!
发布于 2011-04-06 13:06:51
这是错误的
<managed-bean-name>beanName</managed-bean-name>
<managed-bean-class>java.util.HashMap</managed-bean-class>
<managed-bean-scope>view</managed-bean-scope>
<managed-property>
<property-name>elements</property-name>在这里,jsf将在不存在的elements中搜索java.util.HashMap字段的getter/setter,因此错误
发布于 2012-11-20 23:34:14
您有两个选项,取决于您要如何建模类InputFormElementContainer
如果您需要“元素”作为列表:
<managed-bean>
<managed-bean-name>beanName</managed-bean-name>
<managed-bean-class>java.util.HashMap</managed-bean-class>
<managed-bean-scope>view</managed-bean-scope>
<managed-property>
<property-name>elements</property-name>
<property-class>java.util.ArrayList</property-class>
<list-entries>
<value-class>path.InputFormElementContainer</value-class>
<value>...</value
...
</list-entries>
</managed-property>
</managed-bean>或者,如果您需要“元素”属性成为Map:
<managed-bean>
<managed-bean-name>beanName</managed-bean-name>
<managed-bean-class>java.util.HashMap</managed-bean-class>
<managed-bean-scope>view</managed-bean-scope>
<managed-property>
<property-name>elements</property-name>
<property-class>java.util.HashMap</property-class>
<map-entries>
<key-class>java.lang.String</key-class>
<value-class>path.InputFormElementContainer</value-class>
<map-entry>
<key></key>
<value></value>
</map-entry>
</map-entries>
</managed-property>
</managed-bean>https://stackoverflow.com/questions/5566803
复制相似问题