【发布时间】:2012-05-23 09:26:17
【问题描述】:
我在尝试使用参数访问某些属性时遇到了一些麻烦。好吧,我不知道是否应该将它们称为属性,因为访问器具有参数,但现在让我们将它们称为属性。
情况是这样的:
我有一个 Student 类,其中包含不同的本地化作为地图中的对象。我可以通过这样做获得这些本地化对象:
student.getLocalizedData(String localizationCode);
现在,在页面上,我正在尝试这样做:
<h:inputText value="#{collegeBean.student.getLocalizedData('es').profileDescription}"/>
一个学生的描述可以有很多本地化。
页面加载正确,但是当我尝试保存学生时,它说 bean CollegeBean 没有属性 getLocalizedData,很难说这是 bean 中包含的学生的属性。
我知道那行很疯狂,所以我试着把它换行:
<h:inputText value="#{collegeBean.getStudentLocalizedData('es').profileDescription}"/>
唉,我又收到了同样的信息。
我找到的唯一解决方案是制作一种完全包裹学生属性的方法......但是对于每个本地化,我都有 2 种方法(get + set),而且这只适用于一个属性。这意味着我将拥有(2 x 本地化 x 属性)数量的方法!。
有什么方法可以以最动态的方式解决这个问题吗?未来本地化的数量可能会发生变化,我不想更改任何代码。
编辑:我正在使用 JBoss 6.1.0.Final 和 JSF 2.0.3-b05 附带的 JSF 实现
【问题讨论】: