Blog Developando » Código http://developando.com/blog ¿Tienes una idea? Nosotros te ayudamos Thu, 19 Jun 2014 10:05:42 +0000 es-ES hourly 1 http://wordpress.org/?v=3.8.3 CakePHP configurar fichero robots.txt http://developando.com/blog/cakephp-configurar-fichero-robots-txt http://developando.com/blog/cakephp-configurar-fichero-robots-txt#comments Wed, 07 May 2014 08:03:30 +0000 http://developando.com/blog/?p=2450 En una aplicación normal desarrollada en PHP el fichero ‘robots.txt‘ se situará en la carpeta raíz del servidor donde esté alojada la aplicación. Pero si esta aplicación se desarrolla utilizando el framework CakePHP habrá que crear dicho fichero dentro de la carpeta ‘webroot‘ de la aplicación. Detectar problema robots.txt Si se crea el fichero ‘robots.txt‘ […]

The post CakePHP configurar fichero robots.txt appeared first on Blog Developando.

]]>
En una aplicación normal desarrollada en PHP el fichero ‘robots.txt‘ se situará en la carpeta raíz del servidor donde esté alojada la aplicación. Pero si esta aplicación se desarrolla utilizando el framework CakePHP habrá que crear dicho fichero dentro de la carpeta ‘webroot‘ de la aplicación.

Detectar problema robots.txt

Si se crea el fichero ‘robots.txt‘ en la carpeta raíz del servidor, al acceder a la url “http://midominio.com/robots.txt” se obtendrá un error de este tipo:

  1. Not Found
  2. Error: The requested address '/robots.txt' was not found on this server.

Y en el ‘error.log‘ de la aplicación CakePHP podremos ver una línea de este estilo:

  1. 2014-05-06 13:47:09 Error: [MissingControllerException] Controller class Robots.txtController could not be found.

Solucionar problema robots.txt

Para solucionar este error únicamente hay que mover el fichero ‘robots.txt‘ a la carpeta ‘~/app/webroot/‘. Una vez movido el fichero, si se accede a la url anterior podremos ver el contenido completo del fichero ‘robots.txt’ que será consultado por los rastreadores de nuestro sitio.

The post CakePHP configurar fichero robots.txt appeared first on Blog Developando.

]]>
http://developando.com/blog/cakephp-configurar-fichero-robots-txt/feed 0
Eclipse error compilación Maven: ‘No compiler is provided in this environment’ http://developando.com/blog/eclipse-maven-error-compilacion http://developando.com/blog/eclipse-maven-error-compilacion#comments Sat, 03 May 2014 08:38:42 +0000 http://developando.com/blog/?p=2444 En esta breve entrada vamos a explicar como solucionar el error que aparece en eclipse al ejecutar “Maven install” si no se tiene configurado correctamente la ruta al JDK de java en el workspace. El error que veremos al ejecutar “Maven install” es “No compiler is provided in this environment. Perhaps you are running on […]

The post Eclipse error compilación Maven: ‘No compiler is provided in this environment’ appeared first on Blog Developando.

]]>
En esta breve entrada vamos a explicar como solucionar el error que aparece en eclipse al ejecutar “Maven install” si no se tiene configurado correctamente la ruta al JDK de java en el workspace.

El error que veremos al ejecutar “Maven install” es “No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK“.

Para solucionar este error de compilación de Maven debemos ir a “Windows > Preferences“, y desde ahí, en el menú de la izquierda, a “Java > Installed JREs“, como se muestra en la siguiente imagen:

Eclipse Maven compliar errorEn la imagen anterior se puede ver como está configurado la ruta a la carpeta “JRE7“. Para solucionar el problema debemos indicar la ruta a la carpeta que contiene el JDK.

Para ello, seleccionar la entrada de la configuración del JRE que queremos modificar y hacer clic en el botón “Editar“. En la siguiente ventana veremos la configuración de la carpeta actual que está apuntando a la carpeta errónea.

Hacer clic en “Directory” para seleccionar la carpeta correcta del JDK:

Maven Eclipse error compilaciónAhora buscamos la carpeta que contiene el JDK de Java y hacer clic en “Aceptar“:

Maven Eclipse error compilaciónVolviendo a la pantalla anterior veremos que ya está configurada la ruta al JDK. Ahora ya podremos ejecutar de nuevo “Maven install” y el error habrá desaparecido:

Maven Eclipse error compilación

Espero que os ayude a resolver este pequeño error. Si tenéis alguna pregunta no dudéis en dejar vuestros comentarios.

The post Eclipse error compilación Maven: ‘No compiler is provided in this environment’ appeared first on Blog Developando.

]]>
http://developando.com/blog/eclipse-maven-error-compilacion/feed 0
Deshabilitar el botón Volver del navegador http://developando.com/blog/deshabilitar-el-boton-volver-del-navegador http://developando.com/blog/deshabilitar-el-boton-volver-del-navegador#comments Wed, 19 Mar 2014 11:13:49 +0000 http://developando.com/blog/?p=2299 Para deshabilitar el botón de “volver atrás” en el navegador, hay que incluir una función javascript dentro del método ‘onload‘ del body de una página HTML. Página HTML Este sería el código HTML de nuestra página, indicando en el método ‘onload’ que se ejecute el script encargado de deshabilitar el botón: <html>   <head>      <script src="assets/js/custom.js"></script>      ...   </head>   […]

The post Deshabilitar el botón Volver del navegador appeared first on Blog Developando.

]]>
Para deshabilitar el botón de “volver atrás” en el navegador, hay que incluir una función javascript dentro del método ‘onload‘ del body de una página HTML.

Página HTML

Este sería el código HTML de nuestra página, indicando en el método ‘onload’ que se ejecute el script encargado de deshabilitar el botón:

  1. <html>
  2.    <head>
  3.       <script src="assets/js/custom.js"></script>
  4.       ...
  5.    </head>
  6.    <body onload="nobackbutton();">
  7.       ...
  8.    </body>
  9. </html>

javascript

Creamos un fichero llamado ‘custom.js‘ en la carpeta de nuestro dominio ‘~/assets/js‘ y le añadimos el siguiente código encargado de deshabilitar el botón de volver atrás:

  1. function nobackbutton(){
  2.    window.location.hash="no-back-button";
  3.    window.location.hash="Again-No-back-button" //chrome
  4.    window.onhashchange=function(){window.location.hash="no-back-button";}
  5. }

Si abres la página que has creado podrás comprobar que el botón de volver atrás del navegador aparece deshabilitado.

The post Deshabilitar el botón Volver del navegador appeared first on Blog Developando.

]]>
http://developando.com/blog/deshabilitar-el-boton-volver-del-navegador/feed 1
Mostrar la versión SVN en una aplicación Web JAVA http://developando.com/blog/mostrar-la-version-svn-en-una-aplicacion-web-java http://developando.com/blog/mostrar-la-version-svn-en-una-aplicacion-web-java#comments Fri, 28 Feb 2014 10:28:38 +0000 http://developando.com/blog/?p=2213 En este tutorial explicaremos como incluir un número de versión generado a través de MAVEN dentro de nuestra aplicación Web. En nuestro caso, es una aplicación JSF, y mostraremos el número de versión en las páginas xhtml. El número generado será el de la última versión SVN. Nosotros vamos a trabajar con las siguientes versiones: […]

The post Mostrar la versión SVN en una aplicación Web JAVA appeared first on Blog Developando.

]]>
En este tutorial explicaremos como incluir un número de versión generado a través de MAVEN dentro de nuestra aplicación Web. En nuestro caso, es una aplicación JSF, y mostraremos el número de versión en las páginas xhtml. El número generado será el de la última versión SVN.

Nosotros vamos a trabajar con las siguientes versiones:

  1. Eclipse KEPLER 
  2. Subeclipse 
  3. Apache Subversion client 1.8.3
  4. Maven 3
  5. Windows XP

Si deseas conocer cómo instalar Eclipse KEPLER con Maven y Svn (Subeclipse) consulta esta entrada

Para ello hay que seguir los siguientes pasos:

instalar cliente svn

  1. Instalar una versión del cliente SVN acorde a la versión SVN del eclipse. En nuestro caso tenemos instalado en el eclipse lo siguiente:

    eclipse kepler versiones

    eclipse kepler versiones

  2. Instalamos la versión Apache Subversion Client 1.8.3 en el sistema operativo, para ello os descargáis este zip y lo descomprimís en una carpeta de vuestro sistema. En nuestro caso en: C:/opt/svn
  3. Metemos el directorio bin de la instalación en el CLASSPATH y en el Path
  4. Para ello vamos a Mi Pc, hacemos clic con el botón derecho, Propiedades, y en la pestalla de Opciones avanzadas pulsamos en Variables de entorno

    propiedades del sistema

    propiedades del sistema

  5. Añadimos el directorio /bin de la instalación del cliente SVN en la variables Path.
path svn client

path svn client

Comprobamos que está instalado bien. Si no lo coge (la línea de comandos devuelve el error: svn no se reconoce como comando externo o interno) reinicia el pc o comprueba que hayas metido bien el directorio /bin en el Path

comprobar version svn client

comprobar version svn client

Ya tenemos nuestro cliente svn instalado. 

generación del número de versión de la aplicación

Para generar el número de versión configuraremos el siguiente plugin maven en nuestro pom.xml.  

configuración de la url del svn

Configuramos nuestra dirección del SVN. Para ello dentro de la sección insertamos el siguiente código

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4.  
  5. ...
  6.  
  7. <scm>
  8. <connection>scm:svn:http://IP:PUERTO/SVN/PROYECTO</connection>
  9. <url>http://IP:PUERTO/SVN/PROYECTO</url>
  10. </scm>
  11. </project>
  12. ...
  13. <!--DVFMTSC-->

instalación plugin buildnumber-maven-plugin

Introducimos este código dentro de la sección

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4.  
  5. ...
  6.  
  7. <build>
  8.   ...
  9.  
  10. <finalName>miproyecto-${buildNumber}</finalName>
  11.  
  12. <plugins>
  13. <plugin>
  14. <groupId>org.codehaus.mojo</groupId>
  15. <artifactId>buildnumber-maven-plugin</artifactId>
  16. <version>1.2</version>
  17. <executions>
  18. <execution>
  19. <phase>validate</phase>
  20. <goals>
  21. <goal>create</goal>
  22. </goals>
  23. </execution>
  24. </executions>
  25. <configuration>
  26. <docheck>true</docheck>
  27. <doupdate>true</doupdate>
  28. <shortrevisionlength>5</shortrevisionlength>
  29. </configuration>
  30. </plugin>
  31.   ...
  32.  
  33. </plugins>
  34. </build>
  35. ...
  36. </project>

En finalName, metemos el nombre de generación de nuestro war. En nuestro caso, le añadimos el número de versión

Para más info sobre este plugin visite el siguiente enlace

 Con esto, al realizar un Maven install se genera el número de versión asociado a la versión SVN y se almacena en la variable ${buildNumber}. El war generado tendrá el nombre miproyecto-XXXX donde XXXX es el número de versión

mostrar el número de versión en nuestro proyecto jsf

Ya generamos el número de versión, pero lo que nos interesa es mostrarlo en nuestra aplicación web. Para ello, generaremos un fichero .properties con el número de versión y lo mostraremos en nuestras páginas XHTML.

  1. Creamos un fichero config_es.properties en la carpeta src/main/resources/config y creamos una variable que sea nuestro número de versión dentro del fichero 

  1. app_version = ${buildNumber}

  1. Configuramos el nuevo fichero properties dentro de la aplicación. Para ello añadimos el siguiente código dentro de nuestro fichero faces-config.xml

  1. <?xml version="1.0"?>
  2. <faces-config version="2.0" xmlns="http://java.sun.com/xml/ns/javaee"
  3. xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd">
  5.  
  6.    ...
  7.  
  8. <application>
  9. <el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
  10. <message-bundle>config.config</message-bundle>
  11. <locale-config>
  12. <default-locale>es</default-locale>
  13. </locale-config>
  14. </application>
  15.  
  16. </faces-config>

Para más info sobre i28n en una aplicación JSF-Spring Web, visita este enlace

Este es un ejemplo de página XTHML donde insertaremos el número de versión:

  1.     xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j">
  2. .:: MI PROYECTO::.
  3. #{config.app_version}

sustitución de la variable app_version por el número de versión

En este punto, donde mostramos #{config.app_version} estaríamos imprimiendo la cadena “${buildNumber}. Necesitamos decirle a Maven, que sustituya esta variable por el valor de nuestro número de versión antes de hacer el despliegue. Para ello, usamos la opción “filtering = true” donde le decimos, que en determinados ficheros, tiene que sustituir las variables MAVEN por su valor. En nuestro caso, el fichero config_es.properties que está dentro de la carpeta src/main/resources/config. El fichero pom resultado quedaría de la siguiente manera:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4.  
  5. <name>miproyecto</name>
  6. <scm>
  7. <connection>scm:svn:http://IP:PUERTO/SVN/PROYECTO</connection>
  8. <url>http://IP:PUERTO/SVN/PROYECTO</url>
  9. </scm>
  10.  
  11. <build>
  12. <resources>
  13. <resource>
  14. <filtering>true</filtering>
  15. <directory>src/main/resources</directory>
  16. <includes>
  17. <include>config/*.properties</include>
  18. </includes>
  19.  
  20. </resource>
  21.  
  22. </resources>
  23.  
  24. <finalName>MIPROYECTO-${buildNumber}</finalName>
  25. <plugins>
  26. <plugin>
  27. <groupId>org.codehaus.mojo</groupId>
  28. <artifactId>buildnumber-maven-plugin</artifactId>
  29. <version>1.2</version>
  30. <executions>
  31. <execution>
  32. <phase>validate</phase>
  33. <goals>
  34. <goal>create</goal>
  35. </goals>
  36. </execution>
  37. </executions>
  38. <configuration>
  39. <docheck>true</docheck>
  40. <doupdate>true</doupdate>
  41. <shortrevisionlength>5</shortrevisionlength>
  42. </configuration>
  43. </plugin>
  44. ...
  45.  
  46. </plugins>
  47. </build>
  48.  
  49. ...
  50.  
  51. </project>

The post Mostrar la versión SVN en una aplicación Web JAVA appeared first on Blog Developando.

]]>
http://developando.com/blog/mostrar-la-version-svn-en-una-aplicacion-web-java/feed 0
Instalar eclipse Kepler con Maven y SVN http://developando.com/blog/instalar-eclipse-kepler-con-maven-y-svn http://developando.com/blog/instalar-eclipse-kepler-con-maven-y-svn#comments Fri, 28 Feb 2014 09:22:53 +0000 http://developando.com/blog/?p=2217 En este tutorial vamos a explicar cómo instalar eclipse Kepler con Maven y SVN. Las versiones que vamos a utilizar son las siguientes: Eclipse KEPLER SubEclipse 1.10 (con SVN 1.8) Maven 3 (Integrado en Eclipse) INSTALACIÓN DE ECLIPSE Lo primero que haremos es descargar la versión de eclipse KEPLER para desarrolladores J2ee del siguiente enlace: https://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/lunam5 (Elige […]

The post Instalar eclipse Kepler con Maven y SVN appeared first on Blog Developando.

]]>
En este tutorial vamos a explicar cómo instalar eclipse Kepler con Maven y SVN. Las versiones que vamos a utilizar son las siguientes:

  • Eclipse KEPLER
  • SubEclipse 1.10 (con SVN 1.8)
  • Maven 3 (Integrado en Eclipse)

INSTALACIÓN DE ECLIPSE

Lo primero que haremos es descargar la versión de eclipse KEPLER para desarrolladores J2ee del siguiente enlace: https://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/lunam5 (Elige 32bits o 64bits)

Descargamos el zip y lo descomprimimos en una carpeta.

Este zip ya viene integrado con Maven 3.

Instalación de subeclipse

Con este plugin podremos utilizar SVN en nuestro proyecto. Para instalarlo realizamos lo siguiente:

  1. Vamos a Eclipse > Help > Eclipse Marketplace
  2. Buscamos subeclipsemarketplace
  3. Lo instalamos. 

instalamos conector subeclipse-maven

Para poder descargar proyectos maven desde el SVN, necesitaremos un conector. Al intentar instalarlo desde el Marketplace nos da un error para la versión 1.10 del Subeclipse. Por ello, vamos a instalarlo manualmente.

  1. Descargamos el siguiente zip: connector m2e subeclipse maven
  2. Lo descomprimimos en cualquier lugar.
  3. Vamos a Eclipse  > Help > Install new software
  4. Pulsamos en el botón “Add”

    añadir repositorio local

    añadir repositorio local

  5. Dentro del popup seleccionamos “Local”
  6. Seleccionamos la carpeta donde lo hemos descomprimido
  7. Pulsamos OK
  8. En la pantalla ya se muestra el connector.

    Conector SCM SUBECLIPSE MAVEN

    Conector SCM SUBECLIPSE MAVEN

importar el proyecto maven desde el svn

Con esto ya podremos importar proyectos maven desde el svn siguiendo los siguientes pasos:

  1. En el Project Explorer hacer clic con el botón derecho y pulsar Import  > Import

    import Maven Project

    import Maven Project

  2. Seleccionamos Chekout as Maven project from SCM

    CHECKOUT MAVEN

    CHECKOUT MAVEN

  3. Nos sale una ventana donde hay que elegir “svn” de connector e  insertar la url del SVN

    CHECKOUT

    CHECKOUT

  4. Si pulsamos sobre “Browse” podremos explorar las carpetas de la dirección introducida.  Pulsamos Finish y comienza la importación.

conclusiones:

Si vamos a la sección de Eclipse > Help > About Eclipse y pulsamos en “Installation Details” veremos que tenemos la siguientes versiones instaladas: 

eclipse kepler versiones

eclipse kepler versiones

Información recopilada gracias : al siguiente enlace

The post Instalar eclipse Kepler con Maven y SVN appeared first on Blog Developando.

]]>
http://developando.com/blog/instalar-eclipse-kepler-con-maven-y-svn/feed 0
Java, sumar o restar horas y días a una fecha http://developando.com/blog/java-sumar-restar-horas-dias-fecha http://developando.com/blog/java-sumar-restar-horas-dias-fecha#comments Thu, 20 Feb 2014 10:39:09 +0000 http://developando.com/blog/?p=2175 En este tutorial vamos a mostrar unos ejemplos para trabajar con fechas en Java. Los ejemplos que aparecen a continuación sirven para: Sumar X días a una fecha dada Restar X días a una fecha dada Sumar X horas a una fecha dada Restar X horas a una fecha dada En el tutorial trabajaremos con […]

The post Java, sumar o restar horas y días a una fecha appeared first on Blog Developando.

]]>
En este tutorial vamos a mostrar unos ejemplos para trabajar con fechas en Java. Los ejemplos que aparecen a continuación sirven para:

  • Sumar X días a una fecha dada
  • Restar X días a una fecha dada
  • Sumar X horas a una fecha dada
  • Restar X horas a una fecha dada

En el tutorial trabajaremos con objetos de la clase ‘java.util.Calendar’ y ‘java.util.Date’.

Los ejemplos empleados siguen el mismo patrón, primero se crea un objeto ‘java.util.Calendar‘ con el objeto ‘java.util.Date‘ que contiene la fecha que se recibe por parámetro, y posteriormente se le suman o restan las unidades de tiempo que se pasen como parámetro.

Sumar o restar días a una fecha java

En el siguiente fragmento de código se crea un método que recibe dos parámetros, uno con la fecha a modificar, y el segundo con la cantidad de días a sumar o restar. Si la variable ‘dias‘ es mayor que cero entonces se sumarán dichos días a la fecha, por el contrario, si la variable días es menor que cero, entonces se restarán dichos días a la fecha:

  1. // Suma los días recibidos a la fecha  
  2. public Date sumarRestarDiasFecha(Date fecha, int dias){
  3.  
  4.       Calendar calendar = Calendar.getInstance();
  5.       calendar.setTime(fecha); // Configuramos la fecha que se recibe
  6.       calendar.add(Calendar.DAY_OF_YEAR, dias);  // numero de días a añadir, o restar en caso de días<0
  7.  
  8.       return calendar.getTime(); // Devuelve el objeto Date con los nuevos días añadidos
  9.  
  10. }

Sumar y restar horas a una fecha java

Al igual que en el caso anterior, en función del valor de la variable ‘horas‘ se sumarán o restarán dichas horas a la fecha indicada:

  1. // Suma o resta las horas recibidos a la fecha  
  2. public Date sumarRestarHorasFecha(Date fecha, int horas){
  3.  
  4.       Calendar calendar = Calendar.getInstance();
  5.       calendar.setTime(fecha); // Configuramos la fecha que se recibe
  6.       calendar.add(Calendar.HOUR, horas);  // numero de horas a añadir, o restar en caso de horas<0
  7.  
  8.       return calendar.getTime(); // Devuelve el objeto Date con las nuevas horas añadidas
  9.  
  10. }

Otros parámetros configurables en las fechas

Si observamos los dos método podemos ver que únicamente se cambia ‘Calendar.DAY_OF_YEAR‘ por ‘Calendar.HOUR‘. Esto es así porque el método ‘Calendar.add‘ recibe como primer parámetro el campo del calendario que se va a modificar y como segundo el valor que se sumará o restará. Por tanto, dependiendo del campo que utilizemos podremos sumar o restar cierta cantidad de unidades a la fecha indicada.

Otros posibles valores serían:

  • Calendar.MILISECOND para milisegundos
  • Calendar.SECOND para segundos
  • Calendar.MINUTE para minutos
  • Calendar.HOUR para horas
  • Calendar.DAY_OF_YEAR para días
  • Calendar.MONTH para meses
  • Calendar.YEAR para años

The post Java, sumar o restar horas y días a una fecha appeared first on Blog Developando.

]]>
http://developando.com/blog/java-sumar-restar-horas-dias-fecha/feed 0
Primefaces, editar mensaje mostrado en tablas vacías http://developando.com/blog/primefaces-editar-mensaje-tablas-vacias http://developando.com/blog/primefaces-editar-mensaje-tablas-vacias#comments Wed, 12 Feb 2014 09:48:04 +0000 http://developando.com/blog/?p=2144 Por defecto en Primefaces cuando en un elemento de tipo “p:dataTable” no se carga ninguna fila se muestra el mensaje “No records found“. Este mensaje puede modificarse de manera sencilla gracias al atributo ‘emptyMessage‘. Este atributo del elemento “p:dataTable” es el encargado de asignar el texto que se muestra cuando no hay filas en la […]

The post Primefaces, editar mensaje mostrado en tablas vacías appeared first on Blog Developando.

]]>
Por defecto en Primefaces cuando en un elemento de tipo “p:dataTable” no se carga ninguna fila se muestra el mensaje “No records found“.

Este mensaje puede modificarse de manera sencilla gracias al atributo ‘emptyMessage‘. Este atributo del elemento “p:dataTable” es el encargado de asignar el texto que se muestra cuando no hay filas en la tabla. Si no se utliza este atributo coge el mensaje por defecto que comentábamos al principio.

Por ejemplo, si quisieramos que este mensaje apareciese en castellano tendríamos que crear la tabla de esta forma:

  1. <p:dataTable value="#{bean.lista}" emptyMessages="No se han encontrado resultados">
  2.  
  3. ...
  4.  
  5. </p:dataTable>

Por lo que ahora cuando no aparezcan filas en la tabla se mostrará el mensaje “No se han encontrado resultados”.

Este tutorial muestra en un sencillo ejemplo para cambiar este mensaje. En aplicaciones multilenguaje utilizaríamos un fichero de traducciones y deberíamos rellenar en este atributo la clave que se asocia con la traducción de dicho mensaje:

  1. <!-- Cargar fichero de traducciones -->
  2. <f:loadBundle basename="MisTraducciones" var="msg" />
  3.  
  4. <!-- Añadir texto mediante la clave del fichero de traducciones -->
  5. <p:dataTable value="#{bean.lista}" emptyMessages="#{msg['key.empty.table']}">
  6.  
  7. ...
  8.  
  9. </p:dataTable>

The post Primefaces, editar mensaje mostrado en tablas vacías appeared first on Blog Developando.

]]>
http://developando.com/blog/primefaces-editar-mensaje-tablas-vacias/feed 0
Java, convertir un Array de objetos a una Lista http://developando.com/blog/java-array-objetos-a-lista http://developando.com/blog/java-array-objetos-a-lista#comments Tue, 28 Jan 2014 12:27:37 +0000 http://developando.com/blog/?p=1843 Vamos a explicar cómo convertir rápidamente un Array de objetos en Java a una Lista de los mismos objetos. En este tutorial vamos a utilizar un simple ejemplo en el que partiremos de un array de ‘String‘ con diversos nombres y finalmente obtendremos un objeto ‘java.util.List‘ con todos los nombres que venían en el array […]

The post Java, convertir un Array de objetos a una Lista appeared first on Blog Developando.

]]>
Vamos a explicar cómo convertir rápidamente un Array de objetos en Java a una Lista de los mismos objetos.

En este tutorial vamos a utilizar un simple ejemplo en el que partiremos de un array de ‘String‘ con diversos nombres y finalmente obtendremos un objeto ‘java.util.List‘ con todos los nombres que venían en el array original.

Primero partimos de un array de Strings como el siguiente:

  1. String[] arrayNombres = {"David", "Fatima", "Santy", "Ana", "Alejandro", "Sara"};  

Para convertir este array a una lista utilzaremos la función ‘asList‘ incluida en la clase ‘java.util.Arrays’ de esta forma:

  1. List<String> listaNombre = Arrays.asList(arrayNombres);

Tras esto tendremos una variable ‘listaNombre‘ que será un lista en la que cada posición de la misma tendrá un objeto ‘String‘ con el valor de uno de los nombres.

Así de fácil es convertir un array de objetos en una lista de los mismos objetos en java.

The post Java, convertir un Array de objetos a una Lista appeared first on Blog Developando.

]]>
http://developando.com/blog/java-array-objetos-a-lista/feed 0
CakePHP, ordenar y agrupar resultados consultas base de datos http://developando.com/blog/cakephp-ordenar-agrupar-resultados-consutlas-base-datos http://developando.com/blog/cakephp-ordenar-agrupar-resultados-consutlas-base-datos#comments Thu, 26 Dec 2013 09:39:41 +0000 http://developando.com/blog/?p=1616 En este breve tutorial vamos a explicar como ordenadar y/o agrupar los resultados de una consulta a base de datos en un aplicación desarrollada con CakePHP. Para ello utilizaremos los parámetros ‘group‘ y  ‘order‘. Ordenar los resultados de la consulta Veamos un simple ejemplo de una consulta que devuelve todas las personas que están almacenadas […]

The post CakePHP, ordenar y agrupar resultados consultas base de datos appeared first on Blog Developando.

]]>
En este breve tutorial vamos a explicar como ordenadar y/o agrupar los resultados de una consulta a base de datos en un aplicación desarrollada con CakePHP. Para ello utilizaremos los parámetros ‘group‘ y  ‘order‘.

Ordenar los resultados de la consulta

Veamos un simple ejemplo de una consulta que devuelve todas las personas que están almacenadas en una tabla de la base de datos. Para obtener todas las personas de la tabla utiliaríamos la siguiente línea:

  1. $this->Personas->find("all");

Orden ascendente

Con la línea anterior obtendríamos un listado con todas las personas, pero ahora lo que queremos es que este listado esté ordenado alfabéticamente. Entonces a la consulta anterior deberemos añadirle la condición ‘order’ para indicar el orden en el que serán devueltos los registros:

  1. $this->Personas->find("all",array('order'=>'Personas.nombre'));

Añadiendo el parámetro ‘order’ ahora los resultados serán ordenados de la ‘A’ a la ‘Z’.

Orden descendente

Para ordenarlos de forma descendente deberemos utilizar la siguiente línea, indicando ahora ‘order DESC‘:

  1. $this->Personas->find("all",array('order'=>'Personas.nombre DESC'));

Los resultados serán devueltos ahora ordenados de la ‘Z’ a la ‘A’.

Agrupar los resultados de la consulta

Si lo que se quiere es agrupar el resultado de la consulta debermos utilizar el parámetro ‘group‘:

  1. $this->Personas->find("all",array('group'=>'Personas.ciudad'));

Con estos dos parámetros ‘group‘ y ‘order‘ podrás agrupar y ordenar el resultado de todas tus consultas.

The post CakePHP, ordenar y agrupar resultados consultas base de datos appeared first on Blog Developando.

]]>
http://developando.com/blog/cakephp-ordenar-agrupar-resultados-consutlas-base-datos/feed 0
Javascript, programar intervalos y retardo en la ejecución de funciones http://developando.com/blog/javascript-programar-intervalos-retardo-ejecucion-funciones http://developando.com/blog/javascript-programar-intervalos-retardo-ejecucion-funciones#comments Fri, 13 Dec 2013 09:53:51 +0000 http://developando.com/blog/?p=1559 En javascript hay veces que estamos interesados en ejecutar una función ‘n’ segundos después de que algo ocurra. En javascript existen dos funciones que nos permiten configurar un intervalo de ejecuciones (‘setInterval’) o un retardo en la ejecución de un método (‘setTimeout’). En este tutorial vamos a ver un ejemplo de cada una,  programaremos un […]

The post Javascript, programar intervalos y retardo en la ejecución de funciones appeared first on Blog Developando.

]]>
En javascript hay veces que estamos interesados en ejecutar una función ‘n’ segundos después de que algo ocurra. En javascript existen dos funciones que nos permiten configurar un intervalo de ejecuciones (‘setInterval’) o un retardo en la ejecución de un método (‘setTimeout’).

En este tutorial vamos a ver un ejemplo de cada una,  programaremos un intervalo de ejecuacíon de un método, y un retardo en la ejeción de otra función.

setInterval, configurar ejecuciones periódicas de funciones javascript

Con esta función lo que vamos a conseguir es que una función se ejecute cada cierto tiempo, que será el segundo parámetro que reciba la función.

Esto podría ser util por ejemplo para hacer un temporizador o cuentaatrás, programando que cada segundo se reste uno a cierta variable, y que cuando llegue a cero se muestre un mensaje.

La función a utilizar para configurar los intervalos de ejecución es:

  1. setInterval("javascript function",milisegundos);

Esta función recibe dos parámetros:

  1. Función a ejecutar
  2. Intervalo en milisegundos que debe trasncurrir hasta lanzar la siguiente ejecución

Ejemplo de una cuentraatrás con mensaje de alerta

En el siguiente ejemplo utliizaremos la funcion ‘setInterval’ de javascript para crear un temporizador, que empezando en 10 cada segundo reste uno hasta llegar a cero. Es decir, creamos un reloj de cuentaatrás para 10 segundos.

Configuramos el intervalo cada ’10000ms’ (10segundos) y se ejecutará la función que  ‘restar’ hasta que llegue a cero. Entonces se mostrará un mensaje por pantalla y pararemos la ejecución que estaba programada haciendo uso de la función javascript ‘clearInterval(nombreVariable)’, donde ‘nombreVariable’ en nuestro caso será ‘temporizador’ ya que así lo hemos definido en la última línea del ejemplo.

  1. var contador=10;
  2.  
  3. function restar(){
  4.      contador=contador-1;
  5.      if(contador==0){
  6.         acabarCuentaAtras();
  7.     }
  8. }
  9.  
  10. function acabarCuentaAtras(){
  11.     clearInterval(temporizador); // Paramos la ejecución del método, indicando la variable creada al final
  12.     alert("Fin del tiempo, ha llegado a cero");
  13. }
  14.  
  15. var temporizador=setInterval(function(){restar()},10000); // 10000ms = 10s

setTimeout, retrasar la ejecución de una función javascript

Con esta función ‘setTimeout’ lo que estamos configurando es que otra función se ejecute una única vez pasados los milisegundos que indiquemos. Para utilizar esta función tendriamos que añadir la siguiente línea:

  1. setTimeout("javascript function",milisegundos);

Esta función recibe dos parámetros:

  1. Función a ejecutar
  2. Tiempo en milisegundos que debe trasncurrir hasta lanzar la única ejecuación de la función

Por ejemplo, vamos a mostrar un código que programa un aviso pasados tres segundos:

  1. function programarAviso(){
  2.     setTimeout(function(){mostrarAviso()},3000); // 3000ms = 3s
  3. }
  4.  
  5. function mostrarAviso(){
  6.     alert("Han pasado los tres segundos");
  7. }

Esperamos que el tutorial os sirva de ayuda. Es algo orientativo, si necesitais más información poneros en contacto con nosotros e intentaremos ayudaros y añadiremos nuevos ejemplos a esta entrada para completarla con las cosas que nos indiqueis.

The post Javascript, programar intervalos y retardo en la ejecución de funciones appeared first on Blog Developando.

]]>
http://developando.com/blog/javascript-programar-intervalos-retardo-ejecucion-funciones/feed 0

Last updated by at .