正如BalusC对this question的回答所建议的那样,我想创建一个像这样的托管属性:
@ManagedProperty("#{paramValues.freetext}")
private String[] ftValues;
public String[] getFtValues(){
return ftValues;
}
public void setFtValues(String[] values){
ftValues = values;
}
在我的项目中,每个托管bean声明和设置都在faces-config.xml文件中完成。按照建议将注释放在代码中,不会给我带来任何结果。
ftValues始终为null,即使我有一个或多个<input name="freetext">
是否可能不考虑注释,因为主要配置技术使用XML文件?
如何将ManagedProperty声明放入faces-config.xml
?我尝试添加
<managed-property>
<property-name>ftValues</property-name>
<property-class>java.lang.String[]</property-class>
<value>#{paramValues.freetext}</value>
</managed-property>
在相应的托管bean部分中,但它崩溃时出现此错误
无法找到托管bean myBean的Bean或属性类java.lang.String []。
答案 0 :(得分:2)
实际上,只要在faces-config.xml
中声明bean,就会忽略注释。如果从faces-config.xml
中删除bean实际上不是一个不明原因的选项,那么您需要删除<property-class>
来解决问题。 JSF可以完美地自己解决它。