Estou desenvolvendo uma pagina de cadastro utilizando jsp, vraptor e jquery, mas não estou conseguindo fazer a manipulação do objeto no jsp.
Em um ${object.list} preciso alterar o valor de uma ou mais propriedades ou adicionar um novo registro no objeto.list, por exemplo
<c:forEach var="userPartners" items="${user.userPartners}">
<tr id="${userPartners.partner.partnerId}">
<td>${userPartners.partner.name}</td>
<td><input type="radio" name="userPartners.partnerDefault" ${userPartners.partnerDefault? 'checked':''}/></td>
<td><input type="checkbox" name="userPartners.administrator" ${userPartners.administrator? 'checked':''}/></td>
<td><input type="checkbox" name="userPartners.allChannel" ${userPartners.allChannel? 'checked':''}/></td>
<td align="center" width="10%">
<a href="#" onClick="removeRowPartner(${userPartners.partner.partnerId})">
<img src="<c:url value="/common/images/icons/cancel.png"/>" align="center" />
</a>
</td>
</tr>
</c:forEach>
cada vez que for selecionado uma opção (checkbox) devera ser alterado a propriedade relacionada do ${user.userPartners}
ou no submit do form, verificar todos os checkbox selecionados na table e alterar o objeto ${user.userPartners} via javascript
alterar o ${user.userPartners} via javascript não funciona, pois isso só existe na JSP, o que vai para o browser do cliente (onde o javascript roda) é só o HTML gerado.
pra você conseguir alterar vc tem que nomear os inputs com
userPartners[${s.index}].propriedade
vc vai precisar colocar um varStatus=“s” na tag c:forEach…
no form vc coloca como action a url de uma lógica que recebe uma lista:
public void altera(List<UserPartner> userPartners) {...}
e altera os dados no banco, ou algo do tipo
Lucas,
eu tinha feito alguns testes apenas no jsp e acreditei que não teria problemas no controller, mas quando fui testar me ocorreu o problema abaixo:
16:07:50,258 DEBUG [OgnlParametersProvider] Applying userPartners[0].allChannel with [on]
16:07:50,352 DEBUG [OgnlParametersProvider] cant find property for expression userPartners[0].allChannel ignoring
16:07:50,357 DEBUG [OgnlParametersProvider] Applying userPartners[2].administrator with [on]
16:07:50,423 DEBUG [OgnlParametersProvider] cant find property for expression userPartners[2].administrator ignoring
16:07:50,428 DEBUG [OgnlParametersProvider] Applying userPartners[0].administrator with [on]
16:07:50,493 DEBUG [OgnlParametersProvider] cant find property for expression userPartners[0].administrator ignoring
16:07:50,498 DEBUG [OgnlParametersProvider] Applying user.domain.domainId with [1]
16:07:50,857 DEBUG [OgnlParametersProvider] Applying userPartners[1].partnerDefault with [on]
16:07:50,949 DEBUG [OgnlParametersProvider] cant find property for expression userPartners[1].partnerDefault ignoring
aqui esta o metodo utilizado no controller
public void save(User user, Login login, List<UserPartner> userPartners){
o UserPartner tem um setter: setAllChannel() ? tem o setAdministrator?
tem sim…
public void setPartnerDefault(boolean partnerDefault)
public void setAllChannel(boolean allChannel)
public void setAdministrator(boolean administrator)
o List importado é o java.util.List?
lucas,
limpei o projeto no eclipse e esta funcionando agora…
desculpa cara…
obrigado pela ajuda…
sem problemas 
qqer dúvida é só mandar