Ver Mensaje Individual
  #5 (permalink)  
Antiguo 28/08/2012, 04:50
parakas14
 
Fecha de Ingreso: junio-2012
Ubicación: Paradas (Sevilla)
Mensajes: 13
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Setear un radioButton con un servlet

OK. YA SÉ LO QUE NECESITAS. Mira te pongo un jsp con dos radio buttons y el servlet que toma los valores. Lo que tienes que hacer es poner la propiedad checked="checked" cuando el valor retornado por el servlet sea igual al del radio button (value de cada radio). Bueno lo entenderás mejor con los códigos, pero de esta forma ya mantiene el radio button seleccionado una vez validado por el servlet.

CÓDIGO DEL INDEX.JSP:

<%--
Document : index
Created on : 28-ago-2012, 12:19:52
Author : Jero
--%>

<%@page contentType="text/html" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>JSP Page</title>
</head>
<body>
<%String opcion = null;%>
<%if(request.getAttribute("opcion")!=null)
{
opcion = request.getAttribute("opcion").toString();
}%>

<form action="validar" method="post">
<%if( request.getAttribute("opcion")!=null && opcion.compareTo("si")==0)
{%>
<input type="radio" name="opcion" value="si" checked="checked">Sí<br>
<input type="radio" name="opcion" value="no">No<br>
<%}else if( request.getAttribute("opcion")!=null && opcion.compareTo("no")==0)
{%>
<input type="radio" name="opcion" value="si">Sí<br>
<input type="radio" name="opcion" value="no" checked="checked">No<br>
<%}else{%>
<input type="radio" name="opcion" value="si">Sí<br>
<input type="radio" name="opcion" value="no">No<br>
<%}%>
<input type="submit" value="Enviar">
</form>

</body>
</html>



CÓDIGO DEL SERVLET:

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package servlets;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
*
* @author Jero
*/
public class validar extends HttpServlet {

/**
* Processes requests for both HTTP
* <code>GET</code> and
* <code>POST</code> methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();

String opcion = request.getParameter("opcion");
request.setAttribute("opcion", opcion);
RequestDispatcher rd = request.getRequestDispatcher("index.jsp");
rd.forward(request, response);

}

// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP
* <code>GET</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

/**
* Handles the HTTP
* <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}




TEN EN CUENTA QUE HE CREADO EN SOURCE PACKAGE UN FOLDER LLAMADO SERVLETS, DONDE HE METIDO EL SERVLET VALIDAD (lo he hecho con netbeans).

Bueno espero haber respondido a tu pregunta. Un saludo.