Si deseamos añadir un dataprovider al bean de session lo hacemos de esta manera
Asumiendo que deseamos agregar la tabla favoritosmodelos al bean.
Editar SessionBean1.java
Crear el RowSet de tipo CachedRowSetXImpl
private CachedRowSetXImpl favoritosmodelosRowSet = new CachedRowSetXImpl();
public CachedRowSetXImpl getFavoritosmodelosRowSet() {
return favoritosmodelosRowSet;
}
public void setFavoritosmodelosRowSet(CachedRowSetXImpl crsxi) {
this.favoritosmodelosRowSet = crsxi;
}
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:
En el metodo _init() de modelosVer.java, hacemos referencia al bean y al rowset
favoritosmodelosDataProvider.setCachedRowSet((javax.sql.rowset.CachedRowSet)getValue("#{SessionBean1.favoritosmodelosRowSet}"));
Creamos los objetos RowSet
private CachedRowSetDataProvider favoritosmodelosDataProvider = new CachedRowSetDataProvider();
public CachedRowSetDataProvider getFavoritosmodelosDataProvider() {
return favoritosmodelosDataProvider;
}
public void setFavoritosmodelosDataProvider(CachedRowSetDataProvider crsdp) {
this.favoritosmodelosDataProvider = crsdp;
}
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