2

人,我有以下问题:

我有一个对象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 中收到对象时,它没有附带我在输入中输入的更新值。有人可以告诉我这是否可能?

4

2 回答 2

1

我的问题就这样解决了:

<h:commandLink value="Save" actionListener="#{myBean.saveItem}">                                
    <f:ajax onevent="handleOutcome" execute="@all" 
             render=":formulario:table values descriptionNeed" />
</h:commandLink>

我把execute="@all",<h:commandLink>发送All component identifiers到服务器。

参考:

http://docs.oracle.com/javaee/6/tutorial/doc/gkabr.html

<f:ajax execute="@all"> 真正应该做什么?它只发布封闭的表格

https://community.jboss.org/message/563111

http://www.mkyong.com/jsf2/jsf-2-0-ajax-hello-world-example/

这就对了!

于 2013-10-25T12:45:07.313 回答
1
<h:inputText id="janeiro" styleClass="input-large money" 
        value="#{levantamentoBean.itemCrud.itens[0].valor}">
    <f:converter converterId="javax.faces.BigDecimal"/>
</h:inputText>

如果您需要模式转换,请参阅https://community.jboss.org/message/483357#483357

于 2013-10-25T11:33:27.737 回答