bom gente essa é minha primeira postagem no forum, meu nome é Luiz e curso Analise e Desenvolvimento de Sistemas… eis meu problema.
Estou criando uma aplicação de sistema de vendas de ingresso usando JSF/Hibernate/RichFaces.
Bem, quando o cliente acessa a pagina ele visualizará uma lista de todos os eventos disponiveis, utilizei um commandLink que quando clicado irá adicionar o evento solicitado a uma listaEventos ( eventos selecionados para a compra ) esses eventos são adicionados em um ArrayList :
ele adiciona certo , até a tranquilo, o problema vem agora… o usuario pode ter tanto um evento adicionado a lista, como vários… e para cada evento adicionado e exibida uma nova lista com os dados do ArrayList anterior, e um campo com um <h:selectOneMenu value=“meubean.compra.nIngressos”> e um calcular Sub-Total, cada evento pode tem um numero de ingressos diferente e um subtotal diferente tambem, obvio, mas o problema é que quando eu adiciono dois eventos a lista, se eu selecionar 3 ingressos no segundo, e manda calcular o subtotal , ele usa essa mesmo value para todos os outros itens da lista.
pedi ajuda ao meu professor, e ele falou que é pq eu to usando sempre a mesma propriedade no value, minha duvida maior é, como faço para que esse value sempre use uma ‘nova propriedade’ numero de ingressos selecionados ?
desculpe tamanho do post , mas tentei ser o mais claro.
grato a quem ajuda.
<h:column>
<h:selectOneMenu value="#{compraHandler.compra.lugaresComprados}">
<f:selectItem itemValue="1" itemLabel="1"/>
<f:selectItem itemValue="2" itemLabel="2"/>
<f:selectItem itemValue="3" itemLabel="3"/>
<f:selectItem itemValue="4" itemLabel="4"/>
<f:selectItem itemValue="5" itemLabel="5"/>
<f:selectItem itemValue="6" itemLabel="6"/>
<f:selectItem itemValue="7" itemLabel="7"/>
<f:selectItem itemValue="8" itemLabel="8"/>
<f:selectItem itemValue="9" itemLabel="9"/>
<f:selectItem itemValue="10" itemLabel="10"/>
</h:selectOneMenu>
</h:column>
<h:commandLink actionListener="#{compraHandler.adicionarIngresso}">
<h:outputText value="Comprar Ingresso..."></h:outputText>
<f:param id="idParaAdicionar" value="#{e.idevento}"></f:param>
</h:commandLink>
public void calcularSubTotal(ActionEvent evt){
Long idEvento = getIdByParamenter(evt,"idDoEvento"); //pega o id do evento
evento = daoEvento.load(idEvento); //carrega o evento
Double subTotal = evento.getValor() * this.compra.getLugaresComprados(); //eventoValor * lugares marcados pelo selectOneMenu.
System.out.println(subTotal);
}
