我必须使用我的支持bean中的一些组件的一些id,所以我已经将它们声明为常量,我也想在jsf中使用它们(而不是在那里硬编码)。
public final static String SMALL_PACKAGE_QUANTITY_OPT1 = "smallPackageQuantityOpt1";
请注意我为它添加了一个getter,jsf能够读取此属性:
public static String getSMALL_PACKAGE_QUANTITY_OPT1() {
return SMALL_PACKAGE_QUANTITY_OPT1;
}
和jsf:
<ice:selectOneMenu id="#{vdcOrderBean.SMALL_PACKAGE_QUANTITY_OPT1}"
.../>
奇怪的是,它说找不到这个属性:
类型beans.VDCOrderBean上找不到属性'SMALL_PACKAGE_QUANTITY_OPT1'
你们在代码中看到任何问题吗?
感谢。
答案 0 :(得分:3)
我认为这是因为getter方法前面的static
关键字。这使得该方法成为类的一部分而不是该类的实例。 bean是类的实例,因此该方法不是bean的一部分。
TrueDub的建议也很好。
答案 1 :(得分:0)
我怀疑变量名的大写可能是个问题。尝试将方法名称更改为getSmallPackageQuantityOpt1,并将JSF引用更改为#{vdcOrderBean.smallPackageQuantityOpt1}
编辑:根本不相关。道歉