Resulta bastante molesto que intentes abrir un fichero JSP con el JDeveloper y tengas que estar esperando a que monte la vista, en muchos casos el JDeveloper hasta se queda colgado. Para que al abrir un JSP se habra directamente en texto plano, haz lo siguiente:
Tools --> Preferences --> File Type
Ahora selecciona la pestaña "Default Editor"
Aquí selecciona el tipo de archivo que deseas que se habra en modo texto (por ejemplo JSP Source) y cámbialo de Design a Source
A partir de ahora el JDeveloper será algo menos desesperante.
Entrada original: http://one-size-doesnt-fit-all.blogspot.com/2009/03/jdev-ide-defaulting-to-source-code.html
Hacer que JDeveloper no abra en modo "Design" los ficheros JSP, XML, HTML, etc.
Publicado por
es.pinedo
on miércoles, 23 de diciembre de 2009
/
Etiquetas:
JDeveloper,
JSP
/
Comments: (0)
JSP tags para mostrar tablas (displaytag)
Buscando tags que mostrasen tablas y permitiesen además paginar, me encontré con la siguiente librería (displaytags) . Yo la he utilizado sobre Struts2, pero se pueden integrar con cualquier otro framework.
El proyecto está bastante bien documentado y eso siempre se agradece, se ve bastante serio.
El funcionamiento básico consiste en crear un objeto de la clase List (por ejemplo un Vector) que se pasa como atributo al request. Después se recoge a través del tag table, pasándole en el atributo name el nombre del objeto.
Si no se indica nada, obtendremos una tabla con tantas columnas como parámetros tengan los objetos de la lista, en cada columna se pone el valor del parámetro de cada objeto de la lista (cada uno de estos parámetros deben tener sus respectivos métodos get y set) . Este sería el funcionamiento más simple, a partir de ahí se pueden hacer muchas más cosas, añadir paginación, exportar a excel, pdf, etc.
En el caso de que queramos una estructura más flexible que una tabla, para acceder al objeto en cada posición de la tabla hay que asignar un atributo id al tag table, de esta forma se puede obtener el objeto de cada iteración, que se almacena en el pageContext con el nombre del id que hayamos asignado.
Página oficial del proyecto.
Algunos ejemplos.
El proyecto está bastante bien documentado y eso siempre se agradece, se ve bastante serio.
El funcionamiento básico consiste en crear un objeto de la clase List (por ejemplo un Vector) que se pasa como atributo al request. Después se recoge a través del tag table, pasándole en el atributo name el nombre del objeto.
<%request.setAttribute( "test", new TestList(10, false) ); %>
Si no se indica nada, obtendremos una tabla con tantas columnas como parámetros tengan los objetos de la lista, en cada columna se pone el valor del parámetro de cada objeto de la lista (cada uno de estos parámetros deben tener sus respectivos métodos get y set) . Este sería el funcionamiento más simple, a partir de ahí se pueden hacer muchas más cosas, añadir paginación, exportar a excel, pdf, etc.
En el caso de que queramos una estructura más flexible que una tabla, para acceder al objeto en cada posición de la tabla hay que asignar un atributo id al tag table, de esta forma se puede obtener el objeto de cada iteración, que se almacena en el pageContext con el nombre del id que hayamos asignado.
Página oficial del proyecto.
Algunos ejemplos.
Eliminar tags HTML en javascript
Publicado por
es.pinedo
on viernes, 20 de noviembre de 2009
/
Etiquetas:
html,
javascript
/
Comments: (0)
Este es un truco super simple para eliminar tags HTML de un String con javascript.
Resulta muy útil si alguna vez utilizáis un editor de texto como tinyMCE, FCKeditor o similares, que permiten editar texto dándole cierto formato, añadiendo tags HTML para conseguir ese formato. Si necesitáis realizar una validación del número de caracteres que el usuario ha escrito pero no queréis contar los tags añadidos pódeis utilizar el siguiente truco:
//Función que devuelve la longitud del texto que se ha escrito en un Editor (TinyMCE) sin contar los tags HTML
function getlengthcaja(caja) {
var oEditor = tinyMCE.getInstanceById(caja) ;
//Se crea un elemento div, aunque podría ser cualquier otro (span, p, ...)
var mydiv = document.createElement("div");
//Aquí vamos a almacenar el contendio del Editor de texto
var contenido_sinTags;
//Metemos el contenido del editor de texto en el div que hemos creado antes
mydiv.innerHTML = oEditor.getContent();
//Si se trata de IE
if (document.all){
contenido_sinTags=mydiv.innerText;//Este es el KIT, La MAGIA, EL que Obtiene el texto sin tags
//Ahora un poco de expresiones regulares para eliminar los saltos de línea y los retornos de carro
re = new RegExp('\\n', 'gi');
contenido_sinTags=contenido_sinTags.replace(re,'');
re = new RegExp('\\r', 'gi');
contenido_sinTags=contenido_sinTags.replace(re,'');
}// Mozilla does not work with innerText
else {
contenido_sinTags=mydiv.textContent;//Este es el KIT, La MAGIA!!, EL que Obtiene el texto sin tags.
//Ahora un poco de expresiones regulares para eliminar los saltos de línea y los retornos de carro
re = new RegExp('\\n', 'gi');
contenido_sinTags=contenido_sinTags.replace(re,'');
re = new RegExp('\\r', 'gi');
contenido_sinTags=contenido_sinTags.replace(re,'');
}
//Devolvemos la longitud del texto, sin tags HTML ni retornos de carro ni saltos de línea
return contenido_sinTags.length;
}
El objeto RegExp se utiliza en javascript para generar expresiones regulares. Podría utilizarse un String directamente pero, en ese caso la sintaxis para escapar caracteres especiales es diferente.
new RegExp('\\n', 'gi');
'\\n' --> representa el \n (nueva línea)
'gi' --> g: para hacer una búsqueda global, en lugar de parar en la primera coincidencia; i: Ignorar mayúsculas y minúsculas
Más info sobre RegExp en: http://www.w3schools.com/jsref/jsref_obj_regexp.asp
Resulta muy útil si alguna vez utilizáis un editor de texto como tinyMCE, FCKeditor o similares, que permiten editar texto dándole cierto formato, añadiendo tags HTML para conseguir ese formato. Si necesitáis realizar una validación del número de caracteres que el usuario ha escrito pero no queréis contar los tags añadidos pódeis utilizar el siguiente truco:
//Función que devuelve la longitud del texto que se ha escrito en un Editor (TinyMCE) sin contar los tags HTML
function getlengthcaja(caja) {
var oEditor = tinyMCE.getInstanceById(caja) ;
//Se crea un elemento div, aunque podría ser cualquier otro (span, p, ...)
var mydiv = document.createElement("div");
//Aquí vamos a almacenar el contendio del Editor de texto
var contenido_sinTags;
//Metemos el contenido del editor de texto en el div que hemos creado antes
mydiv.innerHTML = oEditor.getContent();
//Si se trata de IE
if (document.all){
contenido_sinTags=mydiv.innerText;//Este es el KIT, La MAGIA, EL que Obtiene el texto sin tags
//Ahora un poco de expresiones regulares para eliminar los saltos de línea y los retornos de carro
re = new RegExp('\\n', 'gi');
contenido_sinTags=contenido_sinTags.replace(re,'');
re = new RegExp('\\r', 'gi');
contenido_sinTags=contenido_sinTags.replace(re,'');
}// Mozilla does not work with innerText
else {
contenido_sinTags=mydiv.textContent;//Este es el KIT, La MAGIA!!, EL que Obtiene el texto sin tags.
//Ahora un poco de expresiones regulares para eliminar los saltos de línea y los retornos de carro
re = new RegExp('\\n', 'gi');
contenido_sinTags=contenido_sinTags.replace(re,'');
re = new RegExp('\\r', 'gi');
contenido_sinTags=contenido_sinTags.replace(re,'');
}
//Devolvemos la longitud del texto, sin tags HTML ni retornos de carro ni saltos de línea
return contenido_sinTags.length;
}
El objeto RegExp se utiliza en javascript para generar expresiones regulares. Podría utilizarse un String directamente pero, en ese caso la sintaxis para escapar caracteres especiales es diferente.
new RegExp('\\n', 'gi');
'\\n' --> representa el \n (nueva línea)
'gi' --> g: para hacer una búsqueda global, en lugar de parar en la primera coincidencia; i: Ignorar mayúsculas y minúsculas
Más info sobre RegExp en: http://www.w3schools.com/jsref/jsref_obj_regexp.asp
Método en PL SQL para entidades html
Publicado por
Marcos
on martes, 17 de noviembre de 2009
/
Etiquetas:
PLSQL,
Programación
/
Comments: (1)
Este es un método para poder convertir facilmente todos los caracteres en entidades HTML
CREATE OR REPLACE FUNCTION ASCII2HTML(cadena VARCHAR2)RETURN VARCHAR2 IS
text VARCHAR2(4000);
BEGIN
text := cadena;
text := REPLACE(text,'À',CHR(38)||'Agrave;');
text := REPLACE(text,'Á',CHR(38)||'Aacute;');
text := REPLACE(text,'Â',CHR(38)||'Acirc;');
text := REPLACE(text,'Ã',CHR(38)||'Atilde;');
text := REPLACE(text,'Ä',CHR(38)||'Auml;');
text := REPLACE(text,'Å',CHR(38)||'Aring;');
text := REPLACE(text,'Æ',CHR(38)||'AElig;');
text := REPLACE(text,'Ç',CHR(38)||'Ccedil;');
text := REPLACE(text,'È',CHR(38)||'Egrave;');
text := REPLACE(text,'É',CHR(38)||'Eacute;');
text := REPLACE(text,'Ê',CHR(38)||'Ecirc;');
text := REPLACE(text,'Ë',CHR(38)||'Euml;');
text := REPLACE(text,'Ì',CHR(38)||'Igrave;');
text := REPLACE(text,'Í',CHR(38)||'Iacute;');
text := REPLACE(text,'Î',CHR(38)||'Icirc;');
text := REPLACE(text,'Ï',CHR(38)||'Iuml;');
text := REPLACE(text,'Ð',CHR(38)||'ETH;');
text := REPLACE(text,'Ñ',CHR(38)||'Ntilde;');
text := REPLACE(text,'Ò',CHR(38)||'Ograve;');
text := REPLACE(text,'Ó',CHR(38)||'Oacute;');
text := REPLACE(text,'Ô',CHR(38)||'Ocirc;');
text := REPLACE(text,'Õ',CHR(38)||'Otilde;');
text := REPLACE(text,'Ö',CHR(38)||'Ouml;');
text := REPLACE(text,'Ø',CHR(38)||'Oslash;');
text := REPLACE(text,'Ù',CHR(38)||'Ugrave;');
text := REPLACE(text,'Ú',CHR(38)||'Uacute;');
text := REPLACE(text,'Û',CHR(38)||'Ucirc;');
text := REPLACE(text,'Ü',CHR(38)||'Uuml;');
text := REPLACE(text,'Ý',CHR(38)||'Yacute;');
text := REPLACE(text,'Þ',CHR(38)||'THORN;');
text := REPLACE(text,'ß',CHR(38)||'szlig;');
text := REPLACE(text,'à',CHR(38)||'agrave;');
text := REPLACE(text,'á',CHR(38)||'aacute;');
text := REPLACE(text,'â',CHR(38)||'acirc;');
text := REPLACE(text,'ã',CHR(38)||'atilde;');
text := REPLACE(text,'ä',CHR(38)||'auml;');
text := REPLACE(text,'å',CHR(38)||'aring;');
text := REPLACE(text,'æ',CHR(38)||'aelig;');
text := REPLACE(text,'ç',CHR(38)||'ccedil;');
text := REPLACE(text,'è',CHR(38)||'egrave;');
text := REPLACE(text,'é',CHR(38)||'eacute;');
text := REPLACE(text,'ê',CHR(38)||'ecirc;');
text := REPLACE(text,'ë',CHR(38)||'euml;');
text := REPLACE(text,'ì',CHR(38)||'igrave;');
text := REPLACE(text,'í',CHR(38)||'iacute;');
text := REPLACE(text,'î',CHR(38)||'icirc;');
text := REPLACE(text,'ï',CHR(38)||'iuml;');
text := REPLACE(text,'ð',CHR(38)||'eth;');
text := REPLACE(text,'ñ',CHR(38)||'ntilde;');
text := REPLACE(text,'ò',CHR(38)||'ograve;');
text := REPLACE(text,'ó',CHR(38)||'oacute;');
text := REPLACE(text,'ô',CHR(38)||'ocirc;');
text := REPLACE(text,'õ',CHR(38)||'otilde;');
text := REPLACE(text,'ö',CHR(38)||'ouml;');
text := REPLACE(text,'ø',CHR(38)||'oslash;');
text := REPLACE(text,'ù',CHR(38)||'ugrave;');
text := REPLACE(text,'ú',CHR(38)||'uacute;');
text := REPLACE(text,'û',CHR(38)||'ucirc;');
text := REPLACE(text,'ü',CHR(38)||'uuml;');
text := REPLACE(text,'ý',CHR(38)||'yacute;');
text := REPLACE(text,'þ',CHR(38)||'thorn;');
text := REPLACE(text,'ÿ',CHR(38)||'yuml;');
return(text);
EXCEPTION
WHEN NO_DATA_FOUND THEN
return '';
END ;
CREATE OR REPLACE FUNCTION ASCII2HTML(cadena VARCHAR2)RETURN VARCHAR2 IS
text VARCHAR2(4000);
BEGIN
text := cadena;
text := REPLACE(text,'À',CHR(38)||'Agrave;');
text := REPLACE(text,'Á',CHR(38)||'Aacute;');
text := REPLACE(text,'Â',CHR(38)||'Acirc;');
text := REPLACE(text,'Ã',CHR(38)||'Atilde;');
text := REPLACE(text,'Ä',CHR(38)||'Auml;');
text := REPLACE(text,'Å',CHR(38)||'Aring;');
text := REPLACE(text,'Æ',CHR(38)||'AElig;');
text := REPLACE(text,'Ç',CHR(38)||'Ccedil;');
text := REPLACE(text,'È',CHR(38)||'Egrave;');
text := REPLACE(text,'É',CHR(38)||'Eacute;');
text := REPLACE(text,'Ê',CHR(38)||'Ecirc;');
text := REPLACE(text,'Ë',CHR(38)||'Euml;');
text := REPLACE(text,'Ì',CHR(38)||'Igrave;');
text := REPLACE(text,'Í',CHR(38)||'Iacute;');
text := REPLACE(text,'Î',CHR(38)||'Icirc;');
text := REPLACE(text,'Ï',CHR(38)||'Iuml;');
text := REPLACE(text,'Ð',CHR(38)||'ETH;');
text := REPLACE(text,'Ñ',CHR(38)||'Ntilde;');
text := REPLACE(text,'Ò',CHR(38)||'Ograve;');
text := REPLACE(text,'Ó',CHR(38)||'Oacute;');
text := REPLACE(text,'Ô',CHR(38)||'Ocirc;');
text := REPLACE(text,'Õ',CHR(38)||'Otilde;');
text := REPLACE(text,'Ö',CHR(38)||'Ouml;');
text := REPLACE(text,'Ø',CHR(38)||'Oslash;');
text := REPLACE(text,'Ù',CHR(38)||'Ugrave;');
text := REPLACE(text,'Ú',CHR(38)||'Uacute;');
text := REPLACE(text,'Û',CHR(38)||'Ucirc;');
text := REPLACE(text,'Ü',CHR(38)||'Uuml;');
text := REPLACE(text,'Ý',CHR(38)||'Yacute;');
text := REPLACE(text,'Þ',CHR(38)||'THORN;');
text := REPLACE(text,'ß',CHR(38)||'szlig;');
text := REPLACE(text,'à',CHR(38)||'agrave;');
text := REPLACE(text,'á',CHR(38)||'aacute;');
text := REPLACE(text,'â',CHR(38)||'acirc;');
text := REPLACE(text,'ã',CHR(38)||'atilde;');
text := REPLACE(text,'ä',CHR(38)||'auml;');
text := REPLACE(text,'å',CHR(38)||'aring;');
text := REPLACE(text,'æ',CHR(38)||'aelig;');
text := REPLACE(text,'ç',CHR(38)||'ccedil;');
text := REPLACE(text,'è',CHR(38)||'egrave;');
text := REPLACE(text,'é',CHR(38)||'eacute;');
text := REPLACE(text,'ê',CHR(38)||'ecirc;');
text := REPLACE(text,'ë',CHR(38)||'euml;');
text := REPLACE(text,'ì',CHR(38)||'igrave;');
text := REPLACE(text,'í',CHR(38)||'iacute;');
text := REPLACE(text,'î',CHR(38)||'icirc;');
text := REPLACE(text,'ï',CHR(38)||'iuml;');
text := REPLACE(text,'ð',CHR(38)||'eth;');
text := REPLACE(text,'ñ',CHR(38)||'ntilde;');
text := REPLACE(text,'ò',CHR(38)||'ograve;');
text := REPLACE(text,'ó',CHR(38)||'oacute;');
text := REPLACE(text,'ô',CHR(38)||'ocirc;');
text := REPLACE(text,'õ',CHR(38)||'otilde;');
text := REPLACE(text,'ö',CHR(38)||'ouml;');
text := REPLACE(text,'ø',CHR(38)||'oslash;');
text := REPLACE(text,'ù',CHR(38)||'ugrave;');
text := REPLACE(text,'ú',CHR(38)||'uacute;');
text := REPLACE(text,'û',CHR(38)||'ucirc;');
text := REPLACE(text,'ü',CHR(38)||'uuml;');
text := REPLACE(text,'ý',CHR(38)||'yacute;');
text := REPLACE(text,'þ',CHR(38)||'thorn;');
text := REPLACE(text,'ÿ',CHR(38)||'yuml;');
return(text);
EXCEPTION
WHEN NO_DATA_FOUND THEN
return '';
END ;
Como enviar E-mails desde Java
Publicado por
Marcos
on miércoles, 11 de noviembre de 2009
/
Etiquetas:
Internet,
Java,
Programación
/
Comments: (0)
Aqui os dejo el codigo de como enviar un e-mail desde Java. En el mail incorporamos texto en el cuerpo así como un fichero adjunto.
Como podeis observar será necesario incluir las librerias mail y activation de java.
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
import javax.mail.internet.MimeMultipart;
....
public static void sendMail(){
String remite, remitente, asunto, destino, textoMail = "";
String host = "smtp.XXXXXX";
String port = ""; //en caso de que haya, incorporar el puerto de comunicación.
String username = "username";
String password = "password";
try{
remite = "administracion@java4mochuelos.es";
remitente = "El administrador de java4mochuelos";
asunto = "Un mensaje muy interesante";
//Los usuarios a quin dirigimos el mail se separan por ";"
destino = "usuario1@java4mochuelos.es;usuario2@java4mochuelos.es";
textoMail= "Cuerpo del mensaje en HTML";
String[] direcciones;
String destinatario=destino;
Properties props = new Properties();
if(username != null && username.length()>0){
props.put("mail.smtp.auth", "true");
}
Session session = Session.getDefaultInstance(props, null);
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(remite, remitente));
//Multiples destinos
if(destinatario.indexOf(";") > 0){
direcciones = destinatario.split(";");
for(int i = 0; i < destino =" direcciones[i].trim();">0){
message.addRecipient(Message.RecipientType.TO, new InternetAddress(destino));
}
}
}else{
message.addRecipient(Message.RecipientType.TO, new InternetAddress(destinatario));
}
message.setSubject(asunto);
//--Cuerpo del mensaje en HTML--
BodyPart bodyPart1 = new MimeBodyPart();
bodyPart1.setContent(textoMail, "text/html");
//-------------
//---fichero---
BodyPart bodyPart2 = new MimeBodyPart();
FileDataSource fileDataSource = new FileDataSource("");
bodyPart2.setDataHandler(new DataHandler(fileDataSource));
bodyPart2.setFileName(fileDataSource.getName());
//-------------
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(bodyPart1);
multipart.addBodyPart(bodyPart2);
message.setContent(multipart);
message.saveChanges();
Transport transport = session.getTransport("smtp");
if(username != null && username.length()>0){
if(port != null && port.length()>0){
transport.connect(host, Integer.parseInt(port), username, password);
}else{
transport.connect(host, username, password);
}
}
transport.sendMessage(message, message.getAllRecipients());
transport.close();
}catch(Exception e){
System.out.println("sendMail: "+ e);
}
}
Como podeis observar será necesario incluir las librerias mail y activation de java.
¿Reparar el GRUB 1?
Publicado por
es.pinedo
on viernes, 6 de noviembre de 2009
/
Etiquetas:
gestor de arranque,
GRUB,
Linux,
ubuntu
/
Comments: (0)
Si te instalas de cero la nueva versión de Ubuntu 9.10, verás que la configuración del GRUB no se realiza ya a través del menu.lst. Esto es porque han migrado a la nueva versión del GRUB (GRUB2).
Esta entrada va dedicada para aquellos que siguen utilizando la versión 1 del GRUB. Bien porque hayan actualizado su Ubuntu desde una versión anterior y hayan conservado la versión del GRUB, bien porque no les guste la nueva versión. O porque utilizáis una distribución de linux que sigue utilizando GRUB 1.
Si haciendo cosas raras con vuestro ordenador se os ocurre instalar más de un SO, entre ellos un Ubuntu, por ejemplo, puede que tarde o temprano acabéis perdiendo el arranque de alguna de las particiones. Pero no pasa nada, que no cunda el pánico!!! Vuestro amigo el GRUB os puede ayudar.
Vamos a suponer que tenemos un disco duro (hda) con 4 particiones primarias (sda1, sda2, sda3, sda4) que es el máximo número de particiones primarias que podemos tener en un disco. Esto es para simplificar un poco el tema.
En sda1 tenemos Ubuntu, en sda2 swap en sda3 Windows, en sda4 datos en FAT 32
Hemos instalado un nuevo SO y se ha cargado el gestor de arranque que teníamos inicialmente en nuestro Ubuntu.
Afortunadamente disponemos del CD de Ubuntu (anterior a Karmic Koala, 9.10, para que tenga el GRUB1) y podemos arrancarlo en modo live. También podemos entrar en modo live con un pendrive. O puede que tengamos una partición con otro Linux que podemos arrancar. Cualquiera de los tres casos es equivalente, ya que lo único que queremos es reparar el GRUB en una partición perdida.
Una vez que hemos conseguido arrancar un linux (live o partición) en nuestro ordenador tenemos que hacer lo siguiente:
Primero montamos la partición en la que se encuentra nuestro ubuntu, por ejemplo yo he elegido para montarlo la carpeta /media/ubuntu
@>mount /dev/sda1 /media/ubuntu
Después le decimos al GRUB que se instale en la carpeta boot del ubuntu
@>grub-install --root-directory=/media/ubuntu/boot /dev/hda
Con esto ya tenemos el gestor de arranque cargado en nuestra partición de ubuntu.
Puede que tengamos que modificar el fichero /boot/grub/menu.lst Ya que la instrucción anterior no genera una nuevo. Seguramente tendrás uno de la instalación inicial y quizá algunas copias.
Aquí van algunos notas de como agregar entradas al fichero menu.lst
Utilidades para añadir manualmente nuevas entradas al fichero /boot/grub/menu.lst
df -h --> Para ver el espacio disponible en la partición actual
fdisk -l --> Para ver la tabla de particiones de los discos
ls -l /dev/disk/by-uuid -->Para ver los UUID asignados a cada partición.
Por ejemplo yo tengo una distribución de Linux (Backtrack 4) en la partición extendida /dev/sda6. Esto sería la forma más sencilla de crear una entrada del grub
title Backtrack 4
root (hd0,5)
kernel /boot/vmlinuz-2.6.29.4 rw root=/dev/sda6
initrd /boot/initrd.img-2.6.29.4
title --> puedes poner lo que quieras es lo que mostrará el GRUB cuando arranque
root --> indica en qué partición está el SO. hd0 (el primer disco duro); 5 la sexta partición
kernel --> ruta al fichero del kernel que se ha de cargar
initrd --> si existe un fichero initrd pues se pone en esta línea (creo que tiene que ver con la carga de módulos)
Si en lugar de poner las rutas a las particiones (/dev/sdaX) queremos utilizar UUID. Entoces arrancamos la partición en la que está instalado el GRUB y ahí ejecutamos el siguiente comando que nos muestra los UUID asignados a cada partición:
@> ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 10 2009-11-10 20:16 10f3ea77-9c79-4a86-ab3c-3b33a3d90bcb -> ../../sda1
lrwxrwxrwx 1 root root 10 2009-11-10 20:16 253E3CA067DE1273 -> ../../sda3
lrwxrwxrwx 1 root root 10 2009-11-10 20:16 8EC1-2066 -> ../../sda5
lrwxrwxrwx 1 root root 10 2009-11-10 20:16 986670b7-03bb-4c62-9012-76a614ff26ff -> ../../sda6
lrwxrwxrwx 1 root root 10 2009-11-10 20:16 ea4a082a-302e-4743-bea6-edb9947f57ab -> ../../sda2
Aquí edito la misma entrada que antes para Backtrack4 en el /dev/sda6 (Esto sería el tipo de entrada que veríais si se generase automáticamente con el GRUB)
title backtrack4 8.10, kernel 2.6.29.4
uuid 986670b7-03bb-4c62-9012-76a614ff26ff
kernel /boot/vmlinuz-2.6.29.4 root=UUID=986670b7-03bb-4c62-9012-76a614ff26ff ro quiet splash
initrd /boot/initrd.img-2.6.29.4
quiet
quiet --> se puede omitir, creo que lo que hace es mostrar la pantalla de carga de ubuntu en lugar de la salida dmesg.
Paso de parámetros en la consola del JDeveloper
Publicado por
es.pinedo
on jueves, 5 de noviembre de 2009
/
Etiquetas:
Java,
JDeveloper,
Programación
/
Comments: (3)
Si algún día desarrolláis alguna aplicación que requiera el paso de parámetros por consola en JDeveloper (version 10) necesitaréis activar una de sus opciones.
Para activar el paso de parámetros váis a:
Tools --> Project Properties --> Run/Debug
Ahí pulsais sobre Edit...
Seleccionáis Tool Settings y marcáis "Allow Program Input"
Ahora cuando ejecutéis en la consola aparecerá abajo del todo una línea que pone "input" ahí podéis introducir los parámetros.
Esto es útil por si desarrolláis una aplicación con un método main que por ejemplo imprime "Contintue (S/N)?:" y pide que pulses una tecla para continuar.
Pasar parámetros al main a través del args:
En este caso: Tools --> Project Properties --> Run/Debug De nuevo pulsais sobre Edit... y en launch Settings en la entrada Program arguments escribís los parámetros del args que queréis pasar separados por un espacio como si se tratase de la línea de comandos.
Para activar el paso de parámetros váis a:
Tools --> Project Properties --> Run/Debug
Ahí pulsais sobre Edit...
Seleccionáis Tool Settings y marcáis "Allow Program Input"
Ahora cuando ejecutéis en la consola aparecerá abajo del todo una línea que pone "input" ahí podéis introducir los parámetros.
Esto es útil por si desarrolláis una aplicación con un método main que por ejemplo imprime "Contintue (S/N)?:" y pide que pulses una tecla para continuar.
Pasar parámetros al main a través del args:
En este caso: Tools --> Project Properties --> Run/Debug De nuevo pulsais sobre Edit... y en launch Settings en la entrada Program arguments escribís los parámetros del args que queréis pasar separados por un espacio como si se tratase de la línea de comandos.
Bienvenidos a java para mochuelos
La idea de este blog es ir comentando los diversos truquillos, ya sean de java, html, javascript, OAS, etc... que van surgiendo en el día a día de los WebMaster que formamos este equipo.
Por supuesto críticas y comentarios son siempre bienvenidos.
Por supuesto críticas y comentarios son siempre bienvenidos.