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

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

Jmoordb-Core @UpdateMany y @DeleteMany

 Jmoordb-Core @UpdateMany y @DeleteMany Estoy trabajando en una versión nueva de jmoordb-core en la cual se estará implementando nuevas funcionalidades como lo son @DeleteMany y    @UpdateMany con la finalidad de hacer operaciones sobre múltiples documentos de la colección.