【发布时间】:2013-09-29 12:15:15
【问题描述】:
我有一个在 xhtml 页面中显示和修改的实体。此实体有一个 getter,它使用带有参数(语言)的 getter 返回了一个连接实体:
public JoinedEntity getJoinedEntity(Locale locale){
for(JoinedEntity je: joinedEntities)
if(je.getLocale().equals(locale)
return je;
}
我的 xhtml 包含以下代码:
<h:inputText value="#{myBean.myEntity.getJoinedEntity(localeBean.locale).mytext}"/>
如果我只显示这个实体没有问题,但是当我尝试保存修改后的 JoinedEntity(使用 TextInputs)时,我收到一个 EL 异常,告诉我我的实体中没有 getJoinedEntity 参数。
是否有可能创建这样的setter:
public void setJoinedEntity(Locale locale, JoinedEntity je){
...
}
还有其他方法可以解决吗?
【问题讨论】:
-
为什么不在 Backing bean 中添加字段 joinedEntity 并在一些 postconstruct 方法中实例化它,而不是在 getter 方法中这样做?
-
因为我有一个来自另一个实体的连接实体的数据表。我希望能够保存这个其他实体,而不必更改所有内容或一一保存每个 JoineEntity。例外来自EL。是否有可能创建这样的设置器: setJoinedEntity(Locale locale, JoineEntity je) ?
-
请提供 xhtml 以便更好地了解问题