tuliomonteazul 12 de ago. de 2011
Deixa eu ver se entendi direito, você quer exibir as opções do select com uma determinada opção selecionada certo?
Se você estiver usando apenas Servlets e JSP, com html puro (sem componentes de frameworks), você pode utilizar o atributo selected da tag .
Ex:
<select id= "teste" >
<option value= "1" > Opcao1</option>
<option value= "2" selected > Opcao2</option>
</select>
Ou então você pode fazer com javascript:
document . getElementById ( ' teste ' ) [ 1 ] . selected = "selected" ; // vai selecionar a Opcao2
Pra fazer isso de maneira dinâmica, dá uma olhada nesse post que mostra duas maneiras.
MatheusFalcade 12 de ago. de 2011
cara, só pra dar uma ajudada coloca um name nos values
<select id="teste">
<option value="1" name="estadoCivil">solteiro</option>
<option value="2" name="estadoCivil">casado</option>
</select>
fwsales 12 de ago. de 2011
Mas onde entra o request.getParameter(“estado_civil”) ?
fwsales 12 de ago. de 2011
O código abaixo manda para o “jsp” através de link.
<%
try {
out . print ( "<table border='1'>" );
out . print ( "<tr>" );
out . print ( "<th> Código </th><th> Nome </th><th> CPF </th><th> Editar </th><th> Excluir </th>" );
AlunoDAO ald = new AlunoDAO ();
String filtro = request . getParameter ( "pesquisa_id" );
ArrayList < Aluno > alunos = ald . listar_por_id ( filtro );
for ( int num = 0 ; num < alunos . size (); num ++ ){
out . print ( "<tr>" );
out . print ( "<td> " + alunos . get ( num ). getId () + " </td>" );
out . print ( "<td> " + alunos . get ( num ). getNome () + " </td>" );
out . print ( "<td> " + alunos . get ( num ). getCpf () + " </td>" );
out . print ( "<td><a href='AlterarAlunos.jsp?id=" + alunos . get ( num ). getId () + "&nome=" + alunos . get ( num ). getNome () + "&sexo=" + alunos . get ( num ). getSexo () + "&estado_civil=" + alunos . get ( num ). getEstado_civil () + "&cpf=" + alunos . get ( num ). getCpf () + "&descricao=" + alunos . get ( num ). getDescricao () + "'><img alt='Alterar' src='images/alterar.png'></a></a></td>" );
out . print ( "<td><a href='ApagarAluno.jsp?cod=" + alunos . get ( num ). getId () + "'><img alt='Apagar' src='images/apagar.png'></a></td>" );
out . print ( "</tr>" );
}
} catch ( Exception erro ){
throw new RuntimeException ( erro );
}
%>
Então, se do servlet foi enviado para estado civil um valor 3, a página tem que vir com “Divorciado(a)” selecionado, se enviado 1, então Solteiro(a), etc.
<form action= "ServletAlterarAlunos.jsp" method= "get" >
<table border= "1" >
<tr>
<th> ID: </th><td><input type= "text" name= "id" value= " <%= request . getParameter ( "id" ) %> " size= "50" readonly /></td><td></td>
</tr>
<tr>
<th> Nome: </th><td><input type= "text" name= "nome" value= " <%= request . getParameter ( "nome" ) %> " size= "50" /></td><td></td>
</tr>
<tr>
<th> Sexo: </th><td><input type= "radio" name= "sexo" value= "0" /> Masculino
<input type= "radio" name= "sexo" value= "1" /> Feminino
</td><td></td>
</tr>
<tr>
<th> Est. Civil: </th><td><select name= "estado_civil" >
<option value= "0" > Escolher</option>
<option value= "1" > Solteiro(a)</option>
<option value= "2" > Casado(a)</option>
<option value= "3" > Divorciado(a)</option>
<option value= "4" > Viúvo(a)</option>
</select></td><td></td>
</tr>
<tr>
<th> CPF: </th><td><input type= "text" name= "cpf" maxlength= "11" value= " <%= request . getParameter ( "cpf" ) %> " size= "50" /></td><td></td>
</tr>
<tr>
<th> Descrição:</th><td><textarea name= "descricao" rows= "5" cols= "39" > <%= request . getParameter ( "descricao" ) %> </textarea></td>
<td><input type= "submit" value= "Alterar" /></td>
</tr>
</table>
</form>
Do código acima, o que não está funcionando, é o radio eo combobox, pra exemplo.
tuliomonteazul 13 de ago. de 2011
Você pode utilizar JSP EL (Expression Language), como naquele link que eu havia mandado. Ficaria mais ou menos assim:
<select name= "estado_civil" >
<option value= "0" ${param. estado_civil = = '0' ? 'selected' : ''} > Escolher</option>
<option value= "1" ${param. estado_civil = = '1' ? 'selected' : ''} > Solteiro(a)</option>
<option value= "2" ${param. estado_civil = = '2' ? 'selected' : ''} > Casado(a)</option>
<option value= "3" ${param. estado_civil = = '3' ? 'selected' : ''} > Divorciado(a)</option>
<option value= "4" ${param. estado_civil = = '4' ? 'selected' : ''} > Viúvo(a)</option>
</select>
Este símbolo ${ } é para utilizar JSP EL. É uma boa prática utilizá-la, mas dependendo da versão do Servlet que você está utilizando (isto é definido no começo do web.xml) você pode ter que declarar no cabeçalho da sua JSP para que ela funcione:
<% @ page isELIgnored = "false" %>
fwsales 13 de ago. de 2011
Nunca usei antes “JSP EL”, mas olha só como eu estava quebrando o galho:
<th> Est. Civil: </th><td><select name= "estado_civil" >
<%
if ( request . getParameter ( "estado_civil" ) . equals ( "1" )) {
out . print ( "<option value='1' selected>Solteiro(a)</option>" );
out . print ( "<option value='2'>Casado(a)</option>" );
out . print ( "<option value='3'>Divorciado(a)</option>" );
out . print ( "<option value='4'>Viúvo(a)</option>" );
} else if ( request . getParameter ( "estado_civil" ) . equals ( "2" )) {
out . print ( "<option value='1'>Solteiro(a)</option>" );
out . print ( "<option value='2' selected>Casado(a)</option>" );
out . print ( "<option value='3'>Divorciado(a)</option>" );
out . print ( "<option value='4'>Viúvo(a)</option>" );
} else if ( request . getParameter ( "estado_civil" ) . equals ( "3" )) {
out . print ( "<option value='1'>Solteiro(a)</option>" );
out . print ( "<option value='2' selected>Casado(a)</option>" );
out . print ( "<option value='3'>Divorciado(a)</option>" );
out . print ( "<option value='4'>Viúvo(a)</option>" );
} else if ( request . getParameter ( "estado_civil" ) . equals ( "4" )) {
out . print ( "<option value='1'>Solteiro(a)</option>" );
out . print ( "<option value='2'>Casado(a)</option>" );
out . print ( "<option value='3'>Divorciado(a)</option>" );
out . print ( "<option value='4' selected>Viúvo(a)</option>" );
}
%>
</select></td><td></td>
Kkkkk
Valeu Pessoal!