Vraptor + Display

Olá Galera!

Gostaria de saber como eu faço para ter um a função no meu onclick=“editar(${veiculo.id});” para submeter para a tela de edição(update).Estou confusa em como devo fazer isso.Eu coloquei um alert e ele consegue capturar o id correto da linha no display,mas nao sei como fazer esta função.

Helpppppppppppppp me!!! obrigada!

function editar(codigo){ document.forms[0].id.value = codigo; //submit(); }

Olá Monike, como vai ?

Então, não se entendi direito… Não sei se entendi: vc querendo saber como colocar um link ou algo “clicável” dentro do displaytag? Se for isto segue um exemplo:

Para colocar algo clicável, um link por exemplo dentro de uma display tag, faça assim:

<display:table id="novo" name="${uf}" requestURI="estado.lista.logic">
    <display:column title="Codigo" property="id" />
    <display:column title="Nome" property="nome" />
    <display:column>
        <a href="estado.remove.logic?uf.id=${uf.id}">remover</a>
    </display:column>
</display:table>

Se não for bem isto, dê um grito que tentamos ajudá-los…

[]'s

Bom dia!

Bem eu tenho uma imagem, e dentro da imagem tem um onclick onde eu já consigo pegar o id do registro.Agora quero saber como faço pra com esse id quando eu clicar no botao ir para minha página de update???

<display:column title="Excluir"> <img style="cursor:pointer;" src="./imagens/ic_sbox_lixeira.gif" border="0" title="Excluir veiculo" width="20" height="20" onclick="excluir(${veiculo.id});"/> </display:column>

agradeço pela atenção.

obrigada

Monike, vc pode usar doios tipos de requisições: sincrona ou assíncrona (ajax). Acho a segunda mais legal… Mas vc precisará ver o que é melhor pra ti… Para tentar te ajudar, vamos suporte que vc queria que quando o usuário clique na imagem, ele seja direcionado para a página de edição, ok ?

SINCRONA
Nesta forma não tenho muita certeza, pode até ser que funcione deste jeito… Não ireir testar…

Arquivo JSP:

<html>
<head>
    <script type="text/javascript">     
        function excluir(id) {
            var URL = 'componente.logica.logic?veiculo.id='+ id;
            document.location.href = URL;
        }
    </script>

</head>
<body>
    <display:table id="novo" name="${uf}" requestURI="estado.lista.logic">  
        <display:column title="Codigo" property="id" />  
        <display:column title="Nome" property="nome" />  
        <display:column>  
            <img style="cursor:pointer;" src="./imagens/ic_sbox_lixeira.gif"     border="0" title="Excluir veiculo" width="20" height="20" onclick="excluir('${veiculo.id}');"/> 
        </display:column>  
    </display:table>  
</body>
</html>

Eu não curto muito utilizar esta maneira, prefiro utilizar assíncrona.

ASSINCRONA
Existe um framework em javascript chamado jquery que é muito legal e fácil de utilizar. Como ele ficaria mais ou menos assim:

Arquivo JSP:

<html>
<head>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">     
        $(function() {
            //MENU PRINCIPAL
            $('#conteudo a.botaoGrid').click(function() {
                $.ajax({
                        url: $(this).attr('href'),
                        type: 'post',
                        success: function(resposta) {
                		$('#conteudo').html(resposta);
                        }
                });
                return false;
            });
        });
    </script>

</head>
<body>
    <div id="conteudo">
        <display:table id="novo" name="${uf}" requestURI="estado.lista.logic">  
            <display:column title="Codigo" property="id" />  
            <display:column title="Nome" property="nome" />  
            <display:column>  
                <a class="botaoGrid" href="componente.logica.logic"><img src="./imagens/ic_sbox_lixeira.gif"     border="0" title="Excluir veiculo" width="20" height="20"/></a>
            </display:column>  
        </display:table>  
    </div>
</body>
</html>

Como não testei pode ser que exista algum errinho aqui ou ali, mas a idéia seria esta…

Espero ter ajudado de alguma forma…

[]'s