【发布时间】:2013-11-03 14:55:58
【问题描述】:
各位,我遇到了以下问题:
我有一个对象 A,它有一个对象列表 B。
但是列表B中的对象数量是固定的(等于12,是一个有年份和值的对象)
public class A{
private Map<Integer, B> itens;
//gets e sets
}
public class B{
private BigDecimal valor;
private Date mes;
//gets e sets
}
我有以下问题:
如何使用 JSF 访问该属性值?
我尝试了以下方法:
<h:outputLabel value="#{msg['label.mes.janeiro']}:" />
<h:inputText id="janeiro" styleClass="input-large money"
value="#{levantamentoBean.itemCrud.itens[0].valor}">
</h:inputText>
和
<h:outputLabel value="#{msg['label.mes.janeiro']}:" />
<h:inputText id="janeiro" styleClass="input-large money"
value="#{levantamentoBean.itemCrud.itens[0].valor}">
<f:convertNumber pattern="#,##0.00" minFractionDigits="2" />
</h:inputText>
当我在我的 Bean 中收到对象时,它没有附带我在输入中输入的更新值。有人可以告诉我这是否可能?
【问题讨论】:
-
我认为 BigDecimal 自动转换将是问题所在。我懒得去测试了。尝试为测试建议设置不同的类型
-
为什么要使用
List而不是Map?使用地图,您可以按月份名称进行索引。 -
您的代码不是很清楚,但似乎您正在返回一个 A 类值,这是必要的吗?为什么不返回元素(B 类)?
-
就像@danRod 说的,你的问题不清楚。您是否只对列表的第 0 项感兴趣?无论如何,将you should move that logic in
getValorPorMes转换为@PostConstruct方法。您尝试过的两个选项都不起作用是有正当理由的 -
@PauloDiogo 呵呵,告诉过你:)
标签: jsf