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....
Unknown said…
me marca un error /index.xhtml @18,62 value="#{login.username}": Target Unreachable, identifier 'login' resolved to null

Popular posts from this blog

Cambiando el estado de un checkbox

Cambiando el Estado de un CheckBox Algunas veces deseamos controlar el estado de un checkbox o cambiarlo segùn determinadas condiciones. Pasos: 1. Creamos un proyecto Web. 2. En el diseñador agregamos un checkbox y dos botones. * Dar click derecho en el checkbox y luego seleccionar Add Binding Attribute, para agregar los atributos al checkbox, de manera que los podamos usar en nuestro código. Generando automáticamente private Checkbox checkbox1 = new Checkbox(); public Checkbox getCheckbox1() { return checkbox1; } public void setCheckbox1(Checkbox c) { this.checkbox1 = c; } 3.Damos click derecho en el botón Habilitar, y seleccionamos Edit Action Event Handler. A continuación, agregamos el código: this.checkbox1.setSelected(true);, el método setSelected con valor true, marca el checkbox como seleccionado, y un valor de false, quita la marca. public String button1_action() { // TODO: Process the action. Return value is a navigation

Tutorial básico de aplicaciones Web con NetBeans parte 1

NetBeans ofrece un excelente soporte para el desarrollo de aplicaciones Web, en esta ocasión lo haremos utilizando el Framework Java Server Faces 2.0. En el Menu Seleccionamos Nuevo->Proyecto y luego en Categorias Java Web y en tipo de Proyectos Web  Application indicamos el nombre del proyecto Seleccinamos el servidor Web, usamos GlassFish ya que este soporta EJB3.0 y JSF 2.0 Framework Java Server Faces El IDE genera el esquelto del proyecto Web Pages   almacenamos las paginas .html, xhtml, jsf, los archivos de recursos, los scripts .js, imagenes Source Packages    Son las clases Java  Test Packages    Son las clases que usamos para los Test Libraries     Tenemos las bibliotecas de Java y GlassFish necesarias para ejecutar la aplicación Web. Test Libraries     Están las bibliotecas usadas para los test  Configuration Files    Archivos de configuración de la aplicación. Ejecutamos la aplicación  Esperamos que se inicie GlassFish y se cargue la aplicación Este se

Usando LazyDataModel con Jmoordb y Microprofile

 Usando LazyDataModel con Jmoordb y Microprofile Lazy es una característica muy interesante que nos permite mostrar solo unos registros en lugar de todos por ejemplo en un DataTable. Esto reduce el tiempo de espera y disminuye el consumo de recursos para desplegar los.  Un escenario puede ser donde tenemos 20000 registros y queremos mostrarlos en un datatable en la cual solo mostraremos 25 por pagina, no seria adecuado cargar los 20000 registros al mismo tiempo. Para ello podemos utilizar LazyDataModel. Para usarlo agregar un objeto LazyDataModel con los métodos set/get: private LazyDataModel<Colegio> lazyDataModelColegio; //set/get En el método init Instanciar el objeto lazyDataModelColegio y en el método load() haremos las implementaciones. El offset es el desplazamiento entre las paginas, sortBy tiene información sobre la ordenación y filterBy información sobre el filtro entre las columnas.  En nuestro caso usaremos la clase paginator de jmoordb para gestionar varias accion