我在尝试访问某些带参数的属性时遇到一些麻烦。那么,我不知道他们是否应该被称为属性,因为访问器有参数,但现在让我们调用它们的属性。JSF 2.0和参数化EL表达式的问题
的情况是这样的:
我有一个包含不同的本地化作为一个地图对象一个学生类。我可以这样做,让这些本地化的对象:现在
student.getLocalizedData(String localizationCode);
,在页面上,我试图做到这一点:
<h:inputText value="#{collegeBean.student.getLocalizedData('es').profileDescription}"/>
学生的描述可以有很多本地化。
页面加载正确,但是当我尝试保存学生时,它表示bean collegeBean没有getLocalizedData属性,很难说它是bean中包含的学生的属性。
我知道,行是疯了,所以我试图把它包起来:
<h:inputText value="#{collegeBean.getStudentLocalizedData('es').profileDescription}"/>
唉,我再次得到了同样的信息。
我找到的唯一解决方案是制作一个完全包装studen't sproperty的方法......但是这为每个本地化留下了2个方法(get + set),而且这仅仅是一个属性。这意味着我将结束拥有(2 x本地化x属性)数量的方法!
我可以采取什么方法以最动态的方式解决这个问题吗?未来本地化的数量可能会发生变化,我不想更改任何代码。
编辑:我使用JBoss 6.1.0.Final和随之而来JSF 2.0.3-B05 JSF实现
我要去的地图。至于实现,我使用的是JBoss 6.1.0.Final附带的JSF实现。这是问题的重要部分,对不起我跳过了它。 – Gamb
EL没有与JSF impl绑定,而是绑定到servletcontainer impl,在你的情况下,因此JBoss 6.1.0(在封面下使用Apache EL,和Tomcat一样)。 – BalusC
我不知道!地图选项仍然像一个魅力。谢谢你,兄弟!你摇滚! – Gamb