-2

我有一个实体,我在 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 参数。

是否有可能创建这样的二传手:

    public void setJoinedEntity(Locale locale, JoinedEntity je){
       ...
    }

有没有其他方法可以解决这个问题?

4

1 回答 1

0

I found the solution to my problem. I deleted my getter and used a map as follow:

    <h:inputText value="#{myBean.joinedEntities[localeBean.locale].myText}">


    public Map<Locale,JoinedEntity> getJoinedEntities(){
     return joinedEntities;
    }

    public void setJoinedEntities(Map<Locale,JoinedEntity> joinedEntities){
      this.joinedEntities = joinedEntities;
    }

Updating the map works then fine.

于 2013-09-24T14:05:17.937 回答