sábado, 21 de enero de 2012

Programando en Java... errores comunes




1. The Maven Integration requires that Eclipse be running in a JDK.

Muchas veces el al instalar el plugin de Maven para Eclipse sale una ventana con este mensaje y es bastante molesto.  Parece que Maven no reconoce la ruta del JDK y tendremos que agregarla manualmente.

Solución:
  1. Abrir el archivo eclipse.ini
  2. Agregar la siguiente línea (aqui pongo el ejemplo para Windows): 
-vm
C:\Java\jdk1.7.0\bin\javaw.exe

Listo, problema resuelto (curioso solo en Windows me ha pasado esto).

2. Error al colocar la ruta de instalación del jdk


Al instalar Java nos pide una ruta, la ruta adecuada para la instalación en Windows es en C:\
Ejemplo
JAVA_HOME, el nombre de la variable
C:\Java\jdkxx , que será el valor


Ahora agregarla al path del sistema %JAVA_HOME%\bin

Listo solo falta ir a la consola de comandos (MS-DOS) y teclear java -version y comprobar que funciona correctamente.

3. Tratar de compilar/ejecutar una clase sin el main

public class Datos{
  private int no_cta;
  private double saldo;


  public Datos(int no_cta,double saldo){
   this.no_cta=no_cta;
   this.saldo=saldo;
  }


 public int getSaldo(){return this.saldo;}
 public int getNo-cat(){return this.no_cta;}


}


Compilar:
javac -g Datos.java

Correcto no parece haber algún error, pero si se trata de ejecutar con: java Datos la línea de comandos tira un error, es porque no encuentra la función  main.


4. Crear un objeto  null 

Muchas veces creamos un objeto y se nos olvida instanciarlo, ejemplo:

private ClaseSecundaria objetoSecundario;


objetoSecundario.setNombre(txtNombre.getText());

Cuando lo correcto sería:

private ClaseSecundaria objetoSecundario;


//aqui coloco la instancia
objetoSecundario= new ClaseSecundaria();
objetoSecundario.setNombre(txtNombre.getText());













domingo, 15 de enero de 2012

Java básico ... variables de entorno y la path

1. Crear la variable de entorno

2. Agregar la ruta

Ejercicios para empezar


Ej1. Imprimir tu nombre  (o varios nombres)  desde la terminal
public class Prog01{
   public static void main(String ... args){
   if(args.length!=0){
     for(String e:args){
        System.out.println("Hola: "+e);
      }
     }else{System.out.println("no hay argumentos");}

   }

}
Compilar:
javac  –g Prog01.java
Ejecutar:
java  Prog01 Unnombre  OtroNombre
Salida:
Hola: Unnombre
Hola: OtroNombre

Ej2.  Sumar, restar, multiplicar y dividir dos números desde terminal
public class Prog02{
   public static void main(String ... args){
           if(args.length!=0){
            double a=Double.parseDouble(args[0]);
            double b=Double.parseDouble(args[1]);
            System.out.println("Números introducidos "+a+" y "+b);
            System.out.println("Suma: "+(a+b));
            System.out.println("Resta: "+(a-b));
            System.out.println("Multiplicacion: "+(a*b));
            System.out.println("Division: "+(a/b));
        }else{
          System.out.println("no hay argumentos");
        }
   }

}
Compilar:
javac  –g Prog02.java
Ejecutar:
java   Prog02 54  32
Salida:
Números introducidos 54 y 32
Suma: 86
Resta: 22
Multiplicacion: 1728
Division: 1.6875




jueves, 12 de enero de 2012

Maven: crear proyecto web e importarlo a Eclipse

Crear un proyecto con Maven es bastante complicado, aunque existen alternativas como Gradle que nos lo facilitan, sigue siendo  el más utilizado.
1.  Ir al directorio donde queremos crear el proyecto:
//en Windows
C:\Users\Alguien\workspace
//en Linux
/home/Alguien/workspace
2.  Desde la terminal crear el proyecto
mvn archetype:create -DgroupId=org.maven.screencast02 -DartifactId=Proyecto02 -
DarchetypeArtifactId=maven-archetype-webapp
3. Empaquetar
mvn package
4. Ahora instalar
mvn install
5. Añadimos la variable del Repositorio local Maven
//Windows
mvn –Declipse.workspace= c:\eclipse\Workspace eclipse:add-maven-repo
//Linux
mvn –Declipse.workspace= home/eclipse/Workspace eclipse:add-maven-repo

6. En el Eclipse comprobamos en Java\Build path\Classpath variables si se ha dado de alta correctamente el repositorio de Maven (ver paso 9)
7. Añadimos el modulo al eclipse de la siguiente manera:
mvn -Dwtpversion=1.5 eclipse:eclipse
8. Importamos el proyecto al eclipse mediante el menú File\Import...\Existing proyect into
Workspace...

9. Si tienes algún error al importar el proyecto puedes entra al classpath
y reemplaza la etiqueta:


por:

<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
</attributes>
</classpathentry>

Nota: el paso 9 viene de la siguiente liga

10. Editar el fichero pom.xml...

Tal vez la parte más difícil del proyecto.

miércoles, 11 de enero de 2012

Comenzar un proyecto en Gradle

Visto en

Construcción de Proyectos con Gradle


Ver también:  http://swgu.ru/p7FZiD

 1. Descargar la última versión http://gradle.org/downloads

2. Descomprimir  (Windows) en:
 C:\gradle-1.0-milestone-7
3. Descomprimir  (Linux) en:
home/Usuario/ gradle-1.0-milestone-7
4. Crear la variable de entrorno (Windows)
Nombre: GRADLE_HOME
Valor: C:\gradle-1.0-milestone-7
4.1Agregarla al path, sin el “;”
%GRADLE_HOME%\bin
4.2Crear la variable de entrorno y agregarla al path (Linux)
GRADLE_HOME=/usr/java/gradle-1.0-milestone-7
export GRADLE_HOME
PATH=$PATH:$GRADLE_HOME/bin
export PATH


5.Comprobar si se instalo correctamente (desde la consola de comandos):
gradle -v
6.Crear un proyecto Java con la siguiente estructura de directorios (carpetas):
screencast01
build.gradle
src/main/java
src/main/resources
src/test/java
src/test/resources

6.1Ruta (Windows y/o Linux):
C:\Users\Alguien\Documents\screencast02
Home/Alguien/Documentos/ screencast02
7.Crear el build.gradle (en un bloc de notas), el script debe ir directamente bajo el directorio screencast02,  y colocar estas líneas:
//Esto es para usar el plugin de Gradle para Java
apply plugin:'java'
//Esto es para usar el plugin de Gradle para Eclipse
apply plugin:'eclipse'

//El plugin para Java define un montón de cosas, entre ellas varias tareas
//invocamos aquí la principal para compilar todo por default
defaultTasks 'build'

//En esta sección incluimos los repositorios de Maven
repositories {
  mavenLocal()
  mavenCentral()
}

//Aquí se definen las dependencias para cada configuración.
//Importamos jUnit solamente para la compilacion de pruebas unitarias
dependencies {
  testCompile 'junit:junit:4.+'
}

8.Crear la clase java Hola.java en  src/main/java/ejemplo
package ejemplo;

public class Hola{

  public String saluda(String quien) {

    return String.format("Hola, %s! (en Java)", quien);

  }

}
9.Crear la prueba unitaria TestAll.java

package ejemplo;
import org.junit.*;
public class TestAll {
  @Test public void testSaludo() {
    Hola o = new Hola();
    assert "Hola, Mundo! (en Java)".equals(o.saluda("Mundo"));
  }
}

10.Ejecutar el script (debemos posicionarnos en el directorio) con:
gradle build

 
En caso de aparecer un error como este 




 

Si sale error poner:
gradle –info
gradle –debug
gradle –stacktrace


Si no hubo problema alguno debe aparecer esto:






 Además se puede usar la interfza gráfica de Gradle para ver  y ejecutar los scripts 


gradle -gui


Debe aparecer esto:
Listo primer proyecto usando Gradle

miércoles, 28 de diciembre de 2011

Python, ejemplos prácticos no. 2


1. Programa que acepte un año escrito en cifras arábigas y visualice el año en números romanos, dentro del rango 1000-1999
'''
autor: yo
fecha: 24 de diciembre de 2011
'''

anyo,anyo_desglosado,aux=0,0,0
romano=""

while anyo<=0 and anyo<=1999:
    anyo=int(raw_input('Introduce año:'))
    print "Año en arábigo [",anyo,"]"
    print "\nAño desglosado: "

if (anyo>=1000):
    anyo_desglosado=anyo%1000
    romano=romano+"M"
    aux=1000
    print "arábigo:",aux
   
if (anyo_desglosado>=900):
    anyo_desglosado=anyo_desglosado%900
    romano=romano+"CM"
    aux=900
    print "arábigo:",aux

if (anyo_desglosado>=800):
    anyo_desglosado=anyo_desglosado%800
    romano=romano+"DCCC"     
    aux=800
    print "arábigo:",aux

if (anyo_desglosado>=700):
    anyo_desglosado=anyo_desglosado%700
    romano=romano+"DCC"         
    aux=700
    print "arábigo:",aux

if (anyo_desglosado>=600):
    anyo_desglosado=anyo_desglosado%600
    romano=romano+"DC"            
    aux=600
    print "arábigo:",aux

if (anyo_desglosado>=500):
    anyo_desglosado=anyo_desglosado%500
    romano=romano+"D"               
    aux=500
    print "arábigo:",aux


if (anyo_desglosado>=400):
    anyo_desglosado=anyo_desglosado%400
    romano=romano+"CD"                 
    aux=400
    print "arábigo:",aux

if (anyo_desglosado>=300):
    anyo_desglosado=anyo_desglosado%300
    romano=romano+"CCC"                          
    aux=300
    print "arábigo:",aux

if (anyo_desglosado>=200):
    anyo_desglosado=anyo_desglosado%200
    romano=romano+"CC"                               
    aux=200
    print "arábigo:",aux

if (anyo_desglosado>=100):
    anyo_desglosado=anyo_desglosado%100
    romano=romano+"C"                                 
    aux=100
    print "arábigo:",aux


if (anyo_desglosado>=90):
    anyo_desglosado=anyo_desglosado%90
    romano=romano+"XC"                                 
    aux=90
    print "arábigo:",aux

if (anyo_desglosado>=80):
    anyo_desglosado=anyo_desglosado%80
    romano=romano+"LXXX"                                          
    aux=80
    print "arábigo:",aux

if (anyo_desglosado>=70):
    anyo_desglosado=anyo_desglosado%70
    romano=romano+"LXX"                                              
    aux=70
    print "arábigo:",aux

if (anyo_desglosado>=60):
    anyo_desglosado=anyo_desglosado%60
    romano=romano+"LX"                                                    
    aux=60
    print "arábigo:",aux


if (anyo_desglosado>=50):
    anyo_desglosado=anyo_desglosado%50
    romano=romano+"L"                                                       
    aux=50
    print "arábigo:",aux

if (anyo_desglosado>=40):
    anyo_desglosado=anyo_desglosado%40
    romano=romano+"XL"                                                            
    aux=40
    print "arábigo:",aux

if (anyo_desglosado>=30):
    anyo_desglosado=anyo_desglosado%30
    romano=romano+"XXX"                                                                
    aux=30
    print "arábigo:",aux

if (anyo_desglosado>=20):
    anyo_desglosado=anyo_desglosado%20
    romano=romano+"XX"                                                                
    aux=20
    print "arábigo:",aux

if (anyo_desglosado>=10):
    anyo_desglosado=anyo_desglosado%10
    romano=romano+"X"                                                                       
    aux=10
    print "arábigo:",aux

if (anyo_desglosado==9):
    anyo_desglosado=anyo_desglosado%9
    romano=romano+"IX"                                                                           
    aux=9
    print "arábigo:",aux

if (anyo_desglosado==8):
    anyo_desglosado=anyo_desglosado%8
    romano=romano+"VIII"                                                                                
    aux=8
    print "arábigo:",aux

if (anyo_desglosado==7):
    anyo_desglosado=anyo_desglosado%7
    romano=romano+"VII"                                                                                    
    aux=7
    print "arábigo:",aux

if (anyo_desglosado==6):
    anyo_desglosado=anyo_desglosado%6
    romano=romano+"VI"                                                                                        
    aux=6
    print "arábigo:",aux

if (anyo_desglosado==5):
    anyo_desglosado=anyo_desglosado%5
    romano=romano+"V"                                                                                            
    aux=5
    print "arábigo:",aux

if (anyo_desglosado==4):
    anyo_desglosado=anyo_desglosado%4
    romano=romano+"IV"                                                                                                
    aux=4
    print "arábigo:",aux

if (anyo_desglosado==3):
    anyo_desglosado=anyo_desglosado%3
    romano=romano+"III"                                                                                                   
    aux=3
    print "arábigo:",aux

if (anyo_desglosado==2):
    anyo_desglosado=anyo_desglosado%2
    romano=romano+"II"                                                                                                        
    aux=2
    print "arábigo:",aux

if (anyo_desglosado==1):
    anyo_desglosado=anyo_desglosado%1
    romano=romano+"I"                                                                                                            
    aux=1
    print "arábigo:",aux


print "\nAño en romano: ",romano


2. Obtener salario nuevo
#código Python
'''

autor: yo
fecha : viernes 9 de diciembre del 2011

'''
#función que calcula el nuevo salario --> ganancia
def obtenerGanancia(m,p):
    return m+(m*(p/100))

#función que calcula el nuevo salario --> perdida
def obtenerPerdida(m,p):
    return m-(p*(p/100))

#variables
salir="s"
monto,porcentaje=0,0
opc=0

while salir == "s":
   
    print "***************************************"
    print "[Programa que calcula el salario nuevo]"
    print "***************************************"
    print ""

    #menú
    print "1. Obtener ganancia"
    print "2. Obtener pérdida"
   
    opc=int(raw_input('Introduce opción: '))

    #obtener ganancia
    if opc==1:
        print "[Obtener ganancia]"
        monto=float(raw_input('Monto: '))
        print "$",monto,"\n"
        porcentaje=float(raw_input('Porcentaje:'))
        print porcentaje,"% \n"
        print "Ganancia: $",obtenerGanancia(monto,porcentaje)
        print ""

    #obtener pérdida
    if opc==2:
        print "[Obtener pérdida]"
        monto=float(raw_input('Monto: '))
        print "$",monto,"\n"
        porcentaje=float(raw_input('Porcentaje:'))
        print porcentaje,"% \n"
        print "Ganancia: $",obtenerPerdida(monto,porcentaje)
        print ""

    else:
        print "opción inválida"

   
    salir=raw_input('Desea hacer otra operación? (s/n):')
    print ""

    if salir=="n":
        print "adios"

lunes, 26 de diciembre de 2011

Tarot básico en Python

 Aqui el código escrito en Python para calcular tu carta del tarot.

def obtenerArcano(arc):
    if arc==1:
        return "El Mago"
    if arc==2:
        return "La Papisa"
    if arc==3:
        return "La Emperatriz"
    if arc==4:
        return "El Emperador"
    if arc==5:
        return "El Papa"
    if arc==6:
        return "El Enamorado"
    if arc==7:
        return "El Carro"
    if arc==8:
        return "La Justicia"
    if arc==9:
        return "El Ermitaño"
    if arc==10:
        return "La Rueda"
    if arc==11:
        return "La Fuerza"
    if arc==12:
        return "El Colgado"
    if arc==13:
        return "La Muerte"
    if arc==14:
        return "La Templanza"
    if arc==15:
        return "El Diablo"
    if arc==16:
        return "La Torre"
    if arc==17:
        return "La Estrella"
    if arc==18:
        return "La Luna"
    if arc==19:
        return "El Sol"
    if arc==20:
        return "El Juicio"
    if arc==21:
        return "El Mundo"
    if arc==22:
        return "El Loco"



dia_nac=0
mes_nac=""
anyo_nuevo=0
aux=0
suma,i=0,0
cadena=""
sumaTotal=0


dia_nac=int(raw_input('Dia de nacimiento:'))
mes_nac=raw_input('Mes de nacimiento:')
anyo_nuevo=int(raw_input('Año nuevo:'))

print "Datos leidos:\n"
print "\tDía de nacimiento ||  Mes de nacimiento  || Año nuevo que empieza"
print "\t",dia_nac,"             || ",mes_nac,"            || ",anyo_nuevo
print ""

if mes_nac=="diciembre":
    aux=12
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
  
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])
      
    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)
  
  
  

if mes_nac=="noviembre":
    aux=11
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])
      
    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)

if mes_nac=="octubre":
    aux=10
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])
      
    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)

if mes_nac=="septiembre":
    aux=9
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])

  
    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)

if mes_nac=="agosto":
    aux=8
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])

    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)

if mes_nac=="julio":
    aux=7
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])

  
    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)

if mes_nac=="junio":
    aux=6
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])
      
    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)

if mes_nac=="mayo":
    aux=5
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])

    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)

if mes_nac=="abril":
    aux=4
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])
      
    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)

if mes_nac=="marzo":
    aux=3
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])

    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)

if
mes_nac=="febrero":
    aux=2
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])
    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)

if mes_nac=="enero":
    aux=1
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])
      
    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)

domingo, 18 de diciembre de 2011

JavaServer Faces: ejemplos básicos



JavaServer Faces

Es una framework (ya tiene varios años que apareció) que nos permite crear aplicaciones web muy parecidas a las de escritorio. JSF trabaja en base a eventos (algo parecido a Swing), mientras que JSP en base a petición(es)/respuesta(s).
Existen otras variantes como:
  1. RichFaces
  2. PrimeFaces
  3. OpenFaces
  4. IceFaces
  5. MyFaces

Enlaces

OpenFaces
http://openfaces.org/documentation/developersGuide/index.html
http://openfaces.org/demo/overview/homepage.jsf
RichFaces
http://docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html_single/
http://livedemo.exadel.com/richfaces-demo/index.jsp
PrimeFaces
http://www.primefaces.org/documentation.html
http://www.primefaces.org/showcase/ui/home.jsf
IceFaces
http://www.icefaces.org/main/resources/
http://www.icefaces.org/main/demos/
MyFaces
http://myfaces.apache.org/docindex.html
Cada una de ellas con diversos componentes muy útiles. Hace algunos meses decidi dejar de usar JSP y probar JSF. No me arrepiento. Creo que ahora escribo código más limpio y legible.

EL: Expression Language

Es un lenguaje especial que nos permite acceder directamente a las propiedades o métodos de los beans desde el código de las páginas (jsp y/o xhtml).
Ejemplo
<h3>
#{"Este es un ejemplo"}</h3>
La salida seria:

Este es un ejemplo

Otro ejemplo
23+64= #{23+65}
La salida seria: 23+64=87
En fin, se pueden realizar todas las operaciones aritméticas y lógicas al igual que en JSP.

ManagedBean

Algo parecido a los Servlets, es una clase java que recibe peticiones y procesa resultados de las páginas web.

Faces config

Es un documento xml en el cual defines los beans de tu aplicación. También defines las "reglas de navegación"entre tus páginas . Es importante tenerlo para saber que página debe mostrarse de acuerdo al suceso/evento que la invoca.
Bueno, ahora un ejemplo sencillo.
1. Crear una aplicación que genere un número aleatorio, y que el usuario trate de adivinarlo.
Primero creo el Bean
 /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.primefaces.ejemplos; import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import java.util.Random;
/**
 *
 *  */

@ManagedBean
@RequestScoped
public class RandomBean {
    private int numero;
 
 
     /** Creates a new instance of RandomBean */
    public RandomBean() {
    }
    /**
     * @return the numero
     */

    public int getNumero() {
        return numero;
    }
    /**
     * @param numero the numero to set
     */

    public void setNumero(int numero) {
        this.numero = numero;
    }
 
     public String ir_calculo(){
      return "calculo02";
    }
 
     public int obtenerNumero(){
      return (int)(Math.random()*100);
     }
 
 
 
}
Ahora el formulario entrada.xhtml
 <h2>Generar número aleatorio</h2>
<h:form>
    <h:panelGrid>
 
        <h:outputLabel value="#{msgs.titulo4}"></h:outputLabel>
        <h:inputText value="#{randomBean.numero}"></h:inputText>
       <h:commandButton action="#{randomBean.ir_calculo()}" value="adivinar" />
    </h:panelGrid>
 
 
</h:form>    
Aqui se muestran los valores datos.xhtml
 <h2>Datos obtenidos</h2>
<h:form>
    <h:panelGrid>
        <h:outputLabel value="#{msgs.titulo5}"></h:outputLabel>
        <h:outputLabel value="#{randomBean.numero}"></h:outputLabel>
        <h:outputLabel value="#{msgs.titulo6}"></h:outputLabel>
        <h:outputText value="#{randomBean.obtenerNumero()}"></h:outputText>
     
        <!-- aqui hago la comparación-->
   
      <h:outputLabel value="#{msgs.titulo7}"></h:outputLabel>
         <h:outputLabel value="#{randomBean.numero==randomBean.obtenerNumero() ?'Correcto':'Incorrecto'}">
              </h:outputLabel>
     
   
   
    </h:panelGrid>
</h:form>
     
     
    <h:outputLink value="http://localhost:8080/pruebaPrimeFaces/faces/index.xhtml"><h:outputText value="Regreso"/></h:outputLink>
El faces-config.xml
<?xml version='1.0' encoding='UTF-8'?> <!-- =========== FULL CONFIGURATION FILE ================================== -->
<faces-config version="2.0"
   xmlns="http://java.sun.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee <a href="http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd">
<navigation-rule>
" title="http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd">
<navigation-rule>
">http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd">
<navigatio...</a>        <from-view-id>*</from-view-id>
        <navigation-case>
            <from-outcome>calculo02</from-outcome>
            <to-view-id>/datos.xhtml</to-view-id>
        </navigation-case>
        </navigation-rule>
<managed-bean>
        <managed-bean-name>RandomBean</managed-bean-name>
        <managed-bean-class>org.primefaces.ejemplos.RandomBean</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
</faces-config>

El lenguaje de programación C

El mítico lenguaje de programación C sigue siendo el lenguaje que definió todo. Y con todo nos referimos a todo lo referente a la inf...

Etiquetas

Archivo del blog