Skip to main content

Agregar un data provider en un session bean

Si deseamos añadir un dataprovider al bean de session lo hacemos de esta manera

Asumiendo que deseamos agregar la tabla favoritosmodelos al bean.

  1. Editar SessionBean1.java

  2. Crear el RowSet de tipo CachedRowSetXImpl

private CachedRowSetXImpl favoritosmodelosRowSet = new CachedRowSetXImpl();

public CachedRowSetXImpl getFavoritosmodelosRowSet() {

return favoritosmodelosRowSet;

}

public void setFavoritosmodelosRowSet(CachedRowSetXImpl crsxi) {

this.favoritosmodelosRowSet = crsxi;

}

  1. Añadir dentro del metodo _init()

favoritosmodelosRowSet.setDataSourceName("java:comp/env/jdbc/balipanama");

favoritosmodelosRowSet.setCommand("SELECT * FROM favoritosmodelos");

favoritosmodelosRowSet.setTableName("favoritosmodelos");



PARA USARLO DESDE UNA PAGINA JSF Y DESDE EL BEAN.

Asumimos que tenemos la pagina modelosVer.jsp y modelosVer.java

Pasos:

  1. En el metodo _init() de modelosVer.java, hacemos referencia al bean y al rowset

    favoritosmodelosDataProvider.setCachedRowSet((javax.sql.rowset.CachedRowSet)getValue("#{SessionBean1.favoritosmodelosRowSet}"));

  1. Creamos los objetos RowSet

private CachedRowSetDataProvider favoritosmodelosDataProvider = new CachedRowSetDataProvider();

public CachedRowSetDataProvider getFavoritosmodelosDataProvider() {

return favoritosmodelosDataProvider;

}

public void setFavoritosmodelosDataProvider(CachedRowSetDataProvider crsdp) {

this.favoritosmodelosDataProvider = crsdp;

}


  1. Asumimos que tenemos un hiperlink en el que guardamos un registro basico lo hariamos de la siguiente manera.

    public String agregarFavoritoshyperlink_action() {

// TODO: Reemplazar con código del usuario

try {

RowKey favoritosmodelosRowKey;

//

//Lo añado a mis favoritospropiedades

//si existe simplemente no lo guarda

//

String idModelo = getSessionBean1().getIdModelo();

String username = getSessionBean1().getUsername();

favoritosmodelosRowKey = favoritosmodelosDataProvider.appendRow();

favoritosmodelosDataProvider.setValue("favoritosmodelos.username",favoritosmodelosRowKey,username);

favoritosmodelosDataProvider.setValue("favoritosmodelos.idmodelo",favoritosmodelosRowKey,idModelo);

favoritosmodelosDataProvider.commitChanges();

info("Se guardo esta propiedad en mis favoritos");

} catch (Exception e) {

log("Error: " , e);

error("Error " + e);

}

return null;

}

Comments

Anonymous said…
Lo he hecho y me funciona muy bien , pero este metodo encapsula los datos digitados por el usuario? Desde ya mil gracisa
Anonymous said…
Lo he probado y me funciona perfectamente . ¿pero esto encapsula los datos digitados por el usuario?

Popular posts from this blog

JUnit con DataClassG

JUnit con DataClassG 0. ESQUEMA Services: Por cada beans crearemos una clase Services que se encargará de interactuar con el controller para realizar las operaciones de la base de datos. Se crearan los métodos insert, update,delete y los demas metodos para realizar las diversas operaciones. Test: Se crearán las clases para test de las clases Services. Form: Los formularios para la interactuar con el usuario. ProvinciasServices.java colocamos los métodos, insert, update,delete public class ProvinciasServices {    ProvinciasController provinciasController = new ProvinciasController();    public ProvinciasServices() {    }    public Boolean insert (Provincias provincias){        try{            if(provinciasController.insert(provincias)){              return tru...

Primefaces v13

 La versión nueva de primefaces v13.0 elimina el componente <p:repeat>  Consulte los cambios en  https://github.com/primefaces/primefaces/releases/tag/13.0.0 por lo tanto si necesita una solución similar considere utilizar  <p:carousel>  o  <ui:repeat> En la versión 13 genera una excepción