JSF selectManyCheckbox转换为String

时间:2013-07-11 13:26:46

标签: java jsf java-ee

是否可以编写可以将String[]转换为String?

的转换器
<p:selectManyCheckbox value="#{bean.numbers}" > 
  <f:selectItem itemValue="Number10" itemLabel="Number 10" />
  <f:selectItem itemValue="Number20" itemLabel="Number 20" />
  <f:selectItem itemValue="Number30" itemLabel="Number 30" />
  <f:converter converterId="arrayStringConverter"/>
</p:selectManyCheckbox>

我需要将#{bean.numbers}声明为String。我知道selectManyCheckbox需要数组或集合。

如何编写可以将数组转换为分隔字符串的转换器?我尝试过使用f:转换器,但每个f:selectItem都会调用它,但不是整个组件值。

1 个答案:

答案 0 :(得分:0)

JSF转换器在每个单独的项目上重复应用,而不是像您期望的那样在整个集合/数组上应用一次。所以,不,那是不可能的。如果您绝对需要像这样对模型进行格式化,那么只需在业务层中执行转换作业。

(如果我想你正在尝试做什么,将多个值存储在单个数据库列中;开始阅读有关数据库规范化,外键关系和JOIN的信息)