Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Promoción de webs | Rentabilidad de webs
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

Construcción dinámica de menús de selección utilizando JSP


Este artículo propone una forma ordenada de generar estos menús utilizando para ello JSP.


28/11/05 - Sucede seguido que tenemos que generar menús de selección dentro de páginas HTML. Muchas veces estos menús son idénticos o muy similares, y puede pasar que ocupan mucho lugar dentro de nuestra pagina web.

La idea es pasar a esta función los parámetros que nos interesan, y dejar que ella se ocupe del resto. Veamos el código de la página, con una breve explicación debajo de cada bloque de código.

<%@ page language="java"%>
<%!
   private void writeMenu(javax.servlet.jsp.JspWriter out, int startValue,
  int endValue, int selectedValue){
  try{
  // esta línea es opcional...
   out.println("<option value=\"-1\" selected>
  Selecciona una opcion</option>");

  // comienzo el ciclo con el rango de valores dado.
  for (int i=startValue; i<(endValue+1); i++){
  // si el valor actual corresponde al valor del ciclo,
  //lo hago aparecer como seleccionado
   if (i == selectedValue){
    out.println("<option value=\""+i+"\"
    selected>"+i+"</option>");
   }
   else{
    out.println("<option value=\""+i+"\">"+i+"</option>");
   }
   }
  }catch(java.io.IOException e1){
   System.out.println(e1);
   }
}
%>

Esta es la función que genera el menùs, recibe como parámetros el valor inicial, el valor final, el valor actual y el objeto JspWriter, que permite escribir dinámicamente sobre la página.

<%

java.util.GregorianCalendar cal = new java.util.GregorianCalendar();
    int day = cal.get(cal.DAY_OF_MONTH);
    int month = (cal.get(cal.MONTH)) + 1;
    int year = cal.get(cal.YEAR);

%>


Creamos variables de página, que nos servirán solamente para probar la función.

<html>
<head>
<title>Construcción dinámica de menús de selección</title>
</head>

<body>

<table>
   <h1>construcción dinámica de menús de selección</h1>
    <tr>
     <td>Dia:
     <select>
      <% writeMenu(out,1,31,day); %>
     </select>
     </td>

     <td>Mes:
     <select>
      <% writeMenu(out,1,12,month); %>
     </select>

     </td>

     <td>Año:
     <select>
      <% writeMenu(out,2000,2010,year); %>
     </select>

     </td>

     </tr>
   </table>
  </body>
</html>


Finalmente el html, muy simple, que muestra cómo se usa la función.
Una variante de este procedimiento sería por ejemplo leer datos de un database. Por ejemplo, si se quiere generar un clásico menú con la lista de países del mundo, se podría hacer una función de este tipo:

public void writeCountryMenu(Connection connection,
javax.servlet.jsp.JspWriter out, int currentValue){
   try{
     String sqlString = " SELECT id,Name from T_Countries order by orderview ";

     Statement stmt = connection.createStatement();
     ResultSet rs = stmt.executeQuery(sqlString);
     while (rs.next()){
       String selected = "";
      int countryId = rs.getInt("id");
      if (countryId==currentValue)
       selected = "SELECTED";
      out.print("<option value=\""+countryId+"\" "+selected+">"+rs.getString("Name")+"</option>");
     }
     rs.close();
   stmt.close();

   }catch(Exception e){
     System.out.println(e);
   }
  }


En este caso obviamente tenemos que pasar una conexión a un database (puede ser MsSQL, MySql, etc.) en el cual tenemos la tabla T_countries, con los campos id, name y orderview.

 Seguir navegando a partir aquí:
+ 2 manuales relacionados
+ 1 categoria relacionada

 Autoría, licencia y acciones sobre este artículo

Informe de Fernando Arturi*
URL: http://www.arturi.com.ar

Atención: Copyright. Este artículo no se puede reproducir sin la autorización expresa del autor.

* Para consultas técnicas utilizar la lista de correo.

Versión imprimible Versión imprimible del artículo
Enviar artículo por e-mail Enviar artículo por e-mail
Añadir un comentario al artículo Publicar un comentario del artículo

Manuales relacionados con este artículo
Dentro de Ayudas técnicas

Dentro de Manual de JSP

Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en JSP


 Comentarios de los visitantes
Aun no hemos recibido comentarios de este artículo.
Puedes ser el primero en enviar tu comentario.



Enlaces:
Maestrosdelweb
  Ir arriba

Manuales relacionados
+Ayudas técnicas
+Manual de JSP
Categorías
+JSP

Lectura recomendada

Compra este libro en Agapea, la librería urgente a domicilio.

Tienda DesarrolloWeb

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia