المشاركات

عرض الرسائل ذات التصنيف trucos

getParameter() con JSF y ICEfaces

Cuando se quiere obtener el parámetro de un URL usando JSP, se usa así: String param=request.getParameter("nombre"); En JSF, es un poquitín más largo: String param=FacesContext.getCurrentInstance().getExternalContext() .getRequestParameterMap().get("nombre"); Pero lo anterior no funciona en ICEfaces. Devuelve siempre nulo. Si se quiere obtener el parámetro por URL, se debe escribir: String param=((HttpServletRequest)FacesContext.getCurrentInstance() .getExternalContext().getRequest()).getParameter("nombre");

Filtrar una tabla en JTable

Un alumno me pregunta cómo filtrar los datos de un JTable, siendo estos datos obtenidos de un query. La mejor manera no es manipular el JTable a través de su cantidad de columnas, agregando filas, borrando algunas de ellas, modificando las celdas, etc. Eso es realmente un dolor de cabeza. Recordemos que estamos trabajando en Java que es Orientado  a Objetos.. no en VisualBasic. Así que, si queremos manipular los datos de un JTable, debemos usar una clase que se encargue de manipular los datos, y que el jtable use esa clase. La interfaz TableModel es la indicada. Pero tiene demasiados métodos a implementar. Así que usaremos algo ya casi hecho. Se llama la clase abstracta AbstractTableModel . Simplemente, debemos heredarla: public class PersonasTableModel extends AbstractTableModel {.... Y con eso debemos implementar tres métodos: getRowCount() , getColumnCount() y getValueAt(int rowIndex, int columnIndex) . La clase que estamos creando debe tener un arreglo interno. Este arreglo es el

JDBC para Access sin DSN

Para acceder a Access desde un JDBC, siempre nos han enseñado que se debe a Herramientas Administrativas > Administrador de Orígines de ODBC, crear un nuevo Origen, especificar el nombre del DNS, bla bla bla, y después desde el JDBC escribir como URL el nombre del DNS, bla bla. Lo malo de esta técnica es que en cada máquina donde se va a ejecutar la aplicación java, necesita que se configure el ODBC. Ya que somos profesionales, debemos evitar las configuraciones adicionales para que nuestra aplicación funcione. Java nos hace profesionales :) Así que, ahora evitaremos todo el rollo de crear el DSN en el ODBC. Usemos esto: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String myDB ="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=C:/data/neptuno.MDB"; Connection conn = DriverManager.getConnection(myDB,"",""); Pero no solo es para Access, sino para cualquier ODBC. Veamos como hacer lo mismo pero para con el Excel Class.forName("sun.j

MD5 en Java (2)

Este realmente me pareció el más óptimo para crear un resumen MD5. Lo encontré en www.gravatar.com . 1 import java.io.UnsupportedEncodingException; 2 import java.security.MessageDigest; 3 import java.security.NoSuchAlgorithmException; 4 5 public class MD5Util { 6 7 public static String hex( byte [] array) { 8 StringBuffer sb = new StringBuffer(); 9 for ( int i = 0; i < array.length; ++i) { 10 sb.append(Integer.toHexString((array[i] & 0xFF) | 0x100).substring(1, 3)); 11 } 12 return sb.toString(); 13 } 14 15 public static String md5Hex(String message) { 16 try { 17 MessageDigest md = 18 MessageDigest.getInstance( " MD5 " ); 19 return hex(md.digest(message.getBytes( " CP1252 " ))); 20 } catch (NoSuchAlgorithmException e) { 21 } catch (UnsupportedEncodingException e) { 22 } 23

Ejecutando archivos .sql desde NetBeans

Aquí presento un truco de cómo ejecutar scripts de archivos .sql desde el mismo NetBeans http://wiki.netbeans.org/TaT_EjecutandoSQLenNetBeans