Galerinha,
Tenho uma tela de cadastro onde o objeto sendo cadastrado “CustoReceita” pode ter 0 ou muitos de outro objeto “Tarifa”.
Na tela isto é representado por 3 campos que são carregados à cada vez que o usuário clica no “adicionar tarifas”. ( exemplo1, exemplo2)
Como não estou utilizando LazyValidatorForm devido à complexidade de utilizar o mesmo com BigDecimal; então implementei um “TelaForm” extends ActionForm
Mas a API do ActionForm não me fornece um método get para atributos variaveis / dinamicos ( como ficará o caso das receitas que será algo tipo : tarifaValor1, tarifaDesconto1, tarifaValor2, tarifaDesconto2: supondo que o usuario tenha clicado 2 vezes no “adicionar tarifas”).
As unicas API’s de Form que achei com este get para atributos com nomes / ids variaveis foram a LazyValidatorForm e a DynaActionForm e suas subclasses.
Mas com LazyValidatorForm tenho problemas com o BigDecimal e o DynaActionForm+subclasses parecem nao aceitar implementação (somente definição no struts-config) . O erro que dá quando troco meu ‘extends ActionForm’ pra ‘extends DynaActionForm’ (pra ter o metodo get) é : “javax.servlet.jsp.JspException: No getter method for property custoReceitaId of bean org.apache.struts.taglib.html.BEAN”
Como resolvo este meu problema então ?
[color=red]Preciso obter a coleção de tarifas inseridas dinamicamente na tela. Como faço ?[/color]
O que preciso no final é obter campos com o nome que eu quiser ± assim:
for (int i=0;i<10;i++) {
if ( form.get( "tarifaValor"+i ) != null ) {
logger.debug( "html:text input tarifaValor "+i+" lido" );
}
}
*keywords: propriedades dinamicas, dinamicos, dinamicamente, struts 1 , form, actionform, dyna form , lista de conteúdo múltiplo, jquery, prototype
Agradeço à quem puder me ajudar o mais rapido possível pois preciso da solução com uma certa urgência
.