feed twitter facebook LinkedIn facebook

Conversación » Conversaciones sobre Programación. Build 2012.07

diciembre 31, 2012 por Víctor Cuervo Sin Comentarios Imprimir Imprimir

Último resumen del año de los grupos de conversación de Facebook sobre lenguajes de programación en español

Se acaba el año y "planchamos" nuestro último resumen. Gran cantidad de conversación en los grupos y tres novedades

La parte de programación porque teníamos que hacer un hueco a las cosas que no caben en los grupos específicos y Python/Ruby debido a la demanda que hay por parte de esos lenguajes.

Veamos en profundidad esta Build 2012.07.

HTML5 en Español
https://www.facebook.com/groups/html5.es/
528 miembros

Además se están manteniendo varios documentos:

Java en Español
https://www.facebook.com/groups/java.es/
1062 miembros

Javascript en Español
https://www.facebook.com/groups/javascript.es/
346 miembros

jQuery en Español
https://www.facebook.com/groups/jquery.es/
438 miembros

PHP en Español
https://www.facebook.com/groups/HypertextPreprocessor.es/
472 miembros

Bases de Datos en Español
https://www.facebook.com/groups/basesdedatos.es/
373 miembros

Java » Enviar un array a una JSP

agosto 1, 2009 por Víctor Cuervo 1 Comentario Imprimir Imprimir

Ya hemos visto como Recibir parámetros en una JSP y Recibir un parámetro numérico en una JSP. El siguiente paso es ver como enviar un array a una JSP.

Imaginemos que ofrecemos a nuestro usuario escoger entre un listado de opciones dentro de una página web. El típico caso de ¿Cuales son tus aficiones favoritas?. Veamos como sería el posible formulario.

Lo primero será crear un combo para que el usuario seleccione las opciones. Nos apoyamos en la etiqueta SELECT para dicha tarea:

  1. <select id="favoritos" multiple="multiple" name="favoritos" size="9">
  2. <option value="deportes">Deportes</option>
  3. <option value="cine">Cine</option>
  4. <option value="teatro">Teatro</option>
  5. <option value="fotografía">Fotografía</option>
  6. <option value="lectura">Lectura</option>
  7. <option value="viajes">Viajes</option>
  8. <option value="pintura">Pintura</option>
  9. <option value="música">Música</option>
  10. <option value="otros">Otros</option>
  11. </select>

En el combo tenemos que percatarnos de varias cosas. Por un lado el nombre del combo, es decir, el valor del atributo name. En este caso es favoritos. Este es muy importante, ya que será el atributo que recuperaremos desde la JSP.

Por otro lado el atributo multiple. Este, al darle el valor "multiple" permite que el usuario de la página pueda seleccionar varias opciones. Todos los valores que el usuario seleccione serán los que viajen como una lista a nuestra JSP.

Ahora ponemos el combo dentro del formulario:

  1.  
  2. <form action="enviar-array.jsp" method="post">
  3. <label for="favoritos">Marca de las siguientes opciones, cuales son tus favoritas</label><br/>
  4. <select multiple="multiple" id="favoritos" name="favoritos" size=9>
  5. <option value="deportes">Deportes</option>
  6. <option value="cine">Cine</option>
  7. <option value="teatro">Teatro</option>
  8. <option value="fotografía">Fotografía</option>
  9. <option value="lectura">Lectura</option>
  10. <option value="viajes">Viajes</option>
  11. <option value="pintura">Pintura</option>
  12. <option value="música">Música</option>
  13. <option value="otros">Otros</option>
  14. </select>
  15. <input type="submit" value="Enviar"/>
  16. </form>
  17.  

Como destino del formulario hemos indicado la JSP que recibirá la lista de opciones. Será la JSP enviar-array.jsp

Empecemos con la JSP. En el ejemplo Recibir parámetros en una JSP veíamos la utilización del método .getParameter(), el cual nos devolvía el valor de uno de los parámetros enviados a la JSP.

Si en este caso utilizásemos este método, con la variable favoritos, este nos devolvería la primera de las opciones seleccionadas. Pero como lo que queremos es que nos devuelva todas las opciones utilizadas, vamos a utilizar el método .getParameterValues(). Este método devuelve todos los valores asociados a uno de los parámetros.

  1.  
  2. <%
  3. String[] favoritos = request.getParameterValues("favoritos");
  4. %>
  5.  

Ahora, solo nos quedará recorrerlo para mostrar en la JSP todos los valores que se nos han enviado. Para realizar esta tarea nos apoyaremos en un bucle for-each:

  1.  
  2. <%
  3. for(String favorito: favoritos)
  4. out.println(favorito + "<br/>");
  5. %>
  6.  

Como se puede ver es muy sencillo enviar un array a una JSP... :-)

Java » Recibir un parámetro numérico en una JSP

julio 30, 2009 por Víctor Cuervo 5 Comentarios Imprimir Imprimir

En el artículo Recibir parametros en una JSP veíamos como de una forma sencilla podíamos leer los parámetros que le llegan a una JSP.

El .getParameter("dato") y dejarlo en un String está muy bien. Pero, qué sucede si el dato que nos envían es un número (eso nos planteaba @Er)...

Pues la forma de hacerlo es muy sencilla. Para ello vamos a implementar una JSP a la cual le pasemos 2 datos numéricos, los cuales nos devolverá sumados.

Realmente la forma de recuperar los datos sigue siendo la misma que en Recibir parametros en una JSP. Es decir, utilizamos el método .getParameter("dato").

  1.  
  2. String datoUno = request.getParameter("dato1");
  3. String datoDos = request.getParameter("dato2");
  4.  

Lo que sucede es que tenemos que convertir los datos de tipo String en tipo numérico, por ejemplo en int. Para ello nos apoyaremos en la clase Integer y concretamente en el método .parseInt()

  1.  
  2. int uno = Integer.parseInt(request.getParameter("dato1"));
  3. int dos = Integer.parseInt(request.getParameter("dato2"));
  4.  

Pero qué sucede si el usuario no nos ha pasado un número en el parámetro. En este caso el método .parseInt() nos va a fallar, dándonos una NumberFormatException. Es por ello que tendremos que prevenir dicha excepción:

  1.  
  2. try {
  3. int uno = Integer.parseInt(request.getParameter("dato1"));
  4. int dos = Integer.parseInt(request.getParameter("dato2"));
  5.  
  6. } catch(NumberFormatException nfe) {
  7. out.println("Los datos recibidos no son números enteros");
  8. }
  9.  

Ahora solo nos quedará hacer la suma y mostrar el resultado en pantalla. En este caso convertimos un número en una cadena de caracteres mediante el método .toString(), también de la clase Integer.

Para mostrar los datos por pantalla utilizamos el método out.println(). Veamos como queda nuestro código:

  1.  
  2. try {
  3. int uno = Integer.valueOf(request.getParameter("dato1"));
  4. int dos = Integer.valueOf(request.getParameter("dato2"));
  5.  
  6. int suma = uno + dos;
  7.  
  8. out.println("La suma de " + datoUno + " + " + datoDos + " = " + Integer.toString(suma));
  9.  
  10.  
  11. } catch(NumberFormatException nfe) {
  12. out.println("Los datos recibidos no son números enteros");
  13. }
  14.  

Java » Obtener la fecha en un JSP

enero 16, 2008 por Víctor Cuervo 8 Comentarios Imprimir Imprimir

Una de las cosas más frecuentes de las páginas dinámicas es que te muestren la fecha actual. Algunas incluso te muestran un saludo dependiendo del día de la semana o el mes en el que te encuentres. Todo un derroche de ingenio ;-)

En las primeras versiones el manejo de fechas pasaba exclusivamente por el uso de la clase java.util.Date, pero a partir de la versión JDK 1.1 fueron añadidas nuevas funcionalidades en otras clases de apoyo como Calendar, TimeZone, Locale y DateFormat y descargando de funcionalidad a la clase Date, si bien, sigue siendo la clase base para el uso de fechas.

Para marcar un limite entre las dos clases podríamos decir que Date representa un momento especifico del tiempo en milisegundos, mientras que Calendar nos permite obtener número enteros que especifican el dia, mes, año, hora,... de dicha fecha. Es decir, lo que eran los antiguos metodos de .getDay(), .getMonth(),....

Continue reading Obtener la fecha en un JSP...

Java » Mi primera JSP

enero 14, 2008 por Víctor Cuervo 5 Comentarios Imprimir Imprimir

Para crearnos el primer JSP los conceptos de programación que debemos de tener son mínimos. Lo primero que debemos de saber es que cada página JSP nos generará normalmente una página HTML. Es por ello que solemos tener una página HTML que incluye islas de código Java. Esta mezcla acaba componiendo nuestra JSP.

Dentro de las islas de código podemos ayudarnos de las herramientas que nos ofrece el lenguaje java. Por ejemplo podemos manejar fechas, accesos a bases de datos, a otros sistemas,...

Continue reading Mi primera JSP...

Java » Recibir parametros en una JSP

diciembre 27, 2006 por Víctor Cuervo 41 Comentarios Imprimir Imprimir

Una página JSP nos permite combinar la tecnología de las páginas web con la tecnología de las páginas de servidor.

Es por ello que en una página JSP siempre veremos dos partes bien diferenciadas. El código relativo a la tecnología cliente: HTML, XHTML, SVG,... y lo que denominaremos scriptlet. Estos scriptlet no deja de ser código Java que se ejecutará en el lado del servidor para añadirse al código cliente ya existente.

Continue reading Recibir parametros en una JSP...

Java » Redirigir todas las JSP a un Servlet

noviembre 30, 2006 por Víctor Cuervo 5 Comentarios Imprimir Imprimir

Ciertos modelos de arquitectura son participes de evitar el acceso directo a las páginas JSP para poder hacer ciertas validaciones. Esto implica que cada vez que alguien ponga una URL sobre nuestro sitio con *.jsp sea reenviado a un servlet.

Continue reading Redirigir todas las JSP a un Servlet...

Java » Incluir una parte HTML en un JSP

noviembre 17, 2006 por Víctor Cuervo 2 Comentarios Imprimir Imprimir

Cuando nos pongamos a codificar páginas JSP nos vamos a encontrar en muchos casos con que parte de nuestro código se está repitiendo.

Por ejemplo, cabeceras, botoneras, menús,... En esta situación no parece de recibo el que tengamos que poner este código en todas las páginas. Sobre todo porque tenemos que pensar en que una modificación a dicho código habría que tocar todas nuestras páginas. Y dependiendo de lo grande que sea nuestro site, esto podría ser inmanejable.

Es por ello que podemos utilizar la inclusión de código HTML en las páginas JSP. Para ello lo primero que tenemos que hacer es crear una página HTML con el código. En nuestro caso vamos a codificar un pie de página, con un copyright,...

Este sería nuestro código, el cual salvaremos como piedepagina.html:

  1. <hr/>
  2. <p align="center">
  3. © Copyright 2006. Linea de Código.
  4. </p>

Como podemos ver el código no es un código HTML con sus etiquetas <HTML> y <BODY>. Sino que es una parte de un código HTML.

Lo siguiente que tenemos que hacer es utilizarlo en todas las páginas JSP donde lo necesitemos. Para ello tenemos que utilizar la directiva <jsp:include> de la siguiente forma.

  1. <jsp:include page="piedepagina.html" />

Esta directiva puede ser incluida en todas nuestras páginas. De tal forma tendremos el HTML centralizado en dicho fichero HTML.

Además de con ficheros HTML podemos utilizar ficheros JSP para hacer el include

  1. <jsp:include page="piedepagina.jsp" />

Aunque esto será otra historia...

Java » JSP redireccionando a otra Web

noviembre 6, 2006 por Víctor Cuervo 1 Comentario Imprimir Imprimir

Seguro que alguna vez os ha pasado el hecho de construir una página web, ponerla en servicio y, por los motivos que sean, tenerla que mover a otra URL.

Esto nos pasa cuando se recategorizan o reorganizan las páginas, cuando cambias de dominio,... En estos casos, es muy probable que no nos interese perder el referente de la página de cara al usuario final. Ya sea porque el usuario se sabe o tiene enlazada dicha página o porque los buscadores la tienen catalogada.

Para estas situaciones podemos usar las redirecciones. Este es un sencillo mecanismo, que nos suelen ofrecer todos los lenguajes de servidor, mediante el cual la petición sobre una página es encaminada a otra.

En JSP tenemos acceso a un conjunto de objetos del contesto de la página. Entre ellos Response y Request. Estos vienen a reflejar la petición y respuesta de dicha página.

En el objeto Response contamos con el método .sendredirect(URL), el cual permitirá reenviar el flujo a una nueva URL. Podemos utilizarlo de la siguiente forma:

  1. <%
  2. response.sendRedirect("http://www.lineadecodigo.com/");
  3. %>

Esta única línea de código nos bastará para realizar nuestro cometido.

Hay que tener en cuenta una cosa. Si utilizamos este método, no podemos volcar ninguna información previa al flujo de salida o response. Ya que en tal caso se produciría un error. Es por ello que suele utilizarse de manera única en las páginas.