Skip to main content

Tutorial básico de aplicaciones Web con NetBeans parte 4

Continuando con el tutorial básico de aplicaciones Web con NetBeans, en esta sección veremos la aplicación en ejecución y creare una pagina para mostrar los datos enviados del usuario.

Editamos el bean Login y reemplazamos la definición de la clase por
public class Login implements Serializable {
private static final long serialVersionUID = 1L;

y agregamos el import java.io.Serializable


Quedaría  de la siguiente manera


Agregamos el metodo Validar()

public String Validar(){
       return "usuario"; 
    }
El valor de "usuario" corresponde al nombre de la pagina usuario.xhtml.

Editamos index.xhtml y agregamos en  action="#{login.Validar}" a <h:commandButton
  <h:commandButton value="Entrar" action="#{login.Validar}"/> 



Creamos una pagina nueva
en Web Pages seleccionar Nuevo->Java Server Faces y en tipos de archivos JSF Page



indicamos el nombre


Agregamos <h:outputText para mostrar el nombre del usuario que se logeo
 <h:outputLabel value ="#{login.username}"/>

quedaría
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html">
    <h:head>
        <title>Facelet Title</title>
    </h:head>
    <h:body>
        <h:outputLabel value ="#{login.username}"/>
    </h:body>
</html>


Ahora Ejecutamos la aplicación}

y al darle clic en el botón Entrar nos lleva a la siguiente pagina y nos muestra el nombre del usuario que ingresamos en la pagina anterior.







Comments

Carlos said…
Muy buen tutorial.. esta excelente.. oye pero me marca el siguiente error en mi navegador google chrome

No se puede encontrar el caso de navegación coincidente del ID de vista '/index.xhtml' para la acción {1}' con el resultado '{2}'

que puede ser eso?? soy nuevo en esto gracias por tu atencion y espero mas tutos :D
avbravo said…
Carlos la pagina debe llamarse usuario.xhmtl

en el return usamos el nombre de la pagina omitiendo la extensión xhtml
ejemplo:
return "usuario";
Adnerys said…
Excelente tutorial, dado que explica paso a paso... Pero podrías ayudarme con este error que me genera:

An Error Occurred:
/index.xhtml @16,62 value="#{login.username}": Target Unreachable, identifier 'login' resolved to null


Gracias!!!
avbravo said…
Amigo verifica el nombre de la clase Login.java
y que exista index.xhtml
Adnerys said…
Hola,
Revisé la clase login.java y tenía la siguiente instrucción (debió generarse automáticamente por Netbeans):

@ManagedBean(name = "login1")

Le quité (name = "login1") y me funcionó excelente!!

Gracias por tu pronta respuesta y por el apoyo a los programadores que apenas iniciamos con JAVA y netbeans!!!
Punishermx said…
hola el ejemplo me marca un error que no encuentra el beans.login@1fe1135.validar()
Anonymous said…
tengo el mismo error que Punishermx me podrias ayudar..
Anonymous said…
tengo el mimso error que Punishermx me podrias ayudar?
El Chumpi said…
disculpa amigo cuando pones return "usuario" no existe una navigacion en faces-config.xml que me enlace a esa regla o lo toma por el nombre del xhtml
El Chumpi said…
Hola brother, cuando usas return "usuario" no existe un regla de navegacion en el faces-config.xml o se enlaza ya con el nombre del xhtml usuario.
Anonymous said…
viejo, utilizas algún api para la capa vista?, te comento que utilizo adf faces y icefaces y lo extraño es que con adf faces en el return por ejemplo pongo el front-outcome, y me lleva a la pagina que tengo en el faces-config.xml, sin embargo para icefaces si hay que poner el nombre como lo tenes aquí en el ejercicio, saludos....
Julio Bh said…
me marca un error /index.xhtml @18,62 value="#{login.username}": Target Unreachable, identifier 'login' resolved to null

Popular posts from this blog

Apache NetBeans

Apache NetBeans
https://wiki.apache.org/incubator/NetBeansProposal

Si, algo que se esperaba desde hace muchos años, una liberación de NetBeans, para convertirlo en un IDE más abierto, y que permita mayor contribución de la comunidad y de otras empresas, ya inicio su primera etapa en la incubadora de la Fundación Apache.
Las implicaciones que esto conlleva son múltiples por una parte esta la evolución de NetBeans, al permitir que más contribuyentes puedan aportar a sus mejoras, también garantiza que aquellas instituciones no sientan que es una sola organización la que controla la evolución. A las comunidades les permite sentirse que participan de un proyecto con todas las garantías que ofrece la Fundación Apache.

Muchos pensaran que Oracle esta dejando morir el proyecto, la realidad es diferente, hay muchos ingenieros que están participando del proyecto en la fundación Apache.
Es una noticia excelente para los desarrolladores, instituciones, empresas que utilizan NetBeans , se estima qu…

Un ejemplo sencillo de Refactorización y Genericos

Un ejemplo sencillo de Refactorización y Genericos

public class Refactorizador<K, V> {

    public V copyFromBeans(K k, V v) {
        try {
            Class claseK = k.getClass();
            Class claseV = v.getClass();

            Method[] metodosK = claseK.getMethods();

            for (Method method : metodosK) {
                if (isGetter(method)) {
                    Method metodoGetK = claseK.getDeclaredMethod(method.getName());
                    Method metodoSetV = claseV.getDeclaredMethod(changeGetBySet(method.getName()), method.getReturnType());
                    metodoSetV.invoke(v, metodoGetK.invoke(k));
                }

            }

        } catch (Exception e) {
            System.out.println("refactorizador() " + e.getLocalizedMessage());
        }
        return v;
    }

     public  boolean isGetter(Method method) {

        if (!method.getName().startsWith("get")) {
            return false;
        }
        if (method.getName().startsWith("getCla…

FileUpload con Primefaces

FileUpload con Primefaces

Si queremos subir imagenes a nuestra aplicación usaremos el componente FileUpload Debemos realizar los siguientes pasos:
Agregar al archivo web.xml

   <filter>        <filter-name>PrimeFaces FileUpload Filter</filter-name>        <filter-class>            org.primefaces.webapp.filter.FileUploadFilter        </filter-class>    </filter>    <filter-mapping>        <filter-name>PrimeFaces FileUpload Filter</filter-name>        <servlet-name>Faces Servlet</servlet-name>    </filter-mapping>



Crear dentro de resources el directorio donde deseamos almacenar las imagenes En este ejemplo: resources/fotos/clinicas y agregue una imagen llamada fotos.png que se usará como imagen inicial.



En JSFUtil u otro @Named Beans que usemos agregamos tres métodos uno para obtener el path de la aplicación web , otro para obtener el path relativo a /fotos/clinicas y el otro para copiar los archivos. /*