[RESOLVIDO] Gravar no banco dados populados em combobox

5 respostas
T

Boa tarde,

Estou com um problema em um projeto que estou fazendo. Tenho uma aplicação web em que preciso desenvolver a funcionalidade de comunicação de usuários através de mensagens. Esse é meu formulário de envio de mensagens:
<form name="mensagem" action="MensagemServlet" id="formcadastro"  method="post"><br>
    <fieldset id="fieldsetdados"><br>
        <legend>Enviar Mensagem</legend>
        <p>
            <label for="nome">Destinat&aacute;rio:</label>
            <select name="username">              
                <option value="0">--- Selecione ---</option>
                <c:forEach var="usuario" items="${listaUser.usuarios}">
                    <option value="${usuario.codigo}">${usuario.username}</option>                    
                </c:forEach>
            </select>
        </p>
        <p>
            <label for="nome">Remetente:</label>
            <input type="text" name="remetente" id="remetente" readonly="readonly" value="${usuario.usuario.username}"/><br>
        </p>
        <p>
            <label for="nome">Mensagem:</label>
            <input type="text" name="mensagem" id="mensagem" value="${msg.mensagem}"/><br>
        </p>
        <p  class="toolbar">
            <input type="submit" id="cadastro-submit" value="Enviar"/>
            <input type="hidden" name="submited" value="true" />
            <input type="hidden" name="op" value="novo"/>
        </p>
        ${msg.erroMsg}        
    </fieldset>
</form>
Nele, tenho os campos de Remetente, Destinatário e o da mensagem, ae o campo de destinatário eu fiz um combobox populando os usuários cadastrados no banco Mas, na hora de gravar, não consigo fazer o item selecionado ir para a persistencia para ser gravado.

Eu coloquei o atributo "name" com o nome do campo a ser gravado, como faço nos outros, só que com combobox nunca fiz isso :S

Como faço, então para que o tem escolhido seja enviado para salvar no banco?

Agradeço desde já pela atenção

5 Respostas

T

Acabei de conseguir resolver isso… rsrs

Era o atributo “name” que tava “username”, mas na verdade é “usuário”.
“usename” é o campo na minha tabela usuário, ae por isso acabei confundindo.

Mas agora tenho outra dúvida:
Preciso que ele grave o nome do usuário, mas tá gravando o código dele, como faço pra gravar corretamente o que preciso?

T

Consegui resolver agora também, atributo “value” do option, ao invés de usuario.codigo, eu coloquei usuario.username, ae funcionou!

ssh
<option value="${usuario.codigo}">${usuario.username}</option>

Coloca o nome dele no campo value. crie um campo id para armazenar o id, e o value para armazenar o valor.

Att

ssh

opa, já conseguiu. caso prefira crie o campo id do lado do value para manipular por id caso precise.

att

T

ssh:
opa, já conseguiu. caso prefira crie o campo id do lado do value para manipular por id caso precise.

att

Manipular, você diz, com Javascript?

Criado 18 de outubro de 2011
Ultima resposta 18 de out. de 2011
Respostas 5
Participantes 2