Bloqueo de Pantalla

,
En esta ocasión revisaremos dos opciones para hacer el bloqueo de pantalla para impedir que los usuarios puedan hacer doble clic en los botones o algún otro elemento y darle una señal visual de que el sistema esta procesando la acción.

La primera opción es protoload que hace uso de la librería Prototype , la dirección es:

http://aka-fotos.de/protoload/

Para hacerla funcionar solo debemos incluir las librerías js y la hoja de estilo que se pueden descargar de la pagina dentro del jsp y con un código simple como el siguiente funciona de maravilla:



<input type="button" onclick="javascript: initEspera();">

<script>
function initEspera() {
$(document.body).startWaiting();
}
</script>



La segunda opción es jQuery Block UI que usa jQuery, su dirección es:

http://malsup.com/jquery/block/

Este componente tiene una mayor grado de configuración que Protoload, además de mayor documentación, para hacerlo funcionar descargamos el componente de la pagina y ponemos las librerías y hoja de estilos correspondientes, con el siguiente código podemos hacer funcionar el componente.



<input type="button" onclick="javascript: initEspera();">

<script>
function initEspera() {
$.blockUI();
}
</script>




Espero les sirva, suerte.

DownloadAction Strtus

,
Hola, en este post mostrare el uso de la clase DownloadAction del framework de struts para descargar archivos, en este caso uno creado en excel con el api de JXL.

1. Para empezar ponemos un link en la pagina para la llamada del action


<html:link action="CrearArchivoAction" > Excel </html:link>



2. Añadimos la entrada a struts.config


<action name="CrearArchivoAction" path="/CrearArchivoAction" type="com.test.CrearArchivoAction" scope="request" input="/Welcome" />



3. Creamos el DownloadAction



public class CrearArchivoAction extends DownloadAction{

/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public StreamInfo getStreamInfo(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {

System.out.println("--- CrearArchivoAction ---- ");

String fileName = "sampleName.xls";
String contentType = "application/vnd.ms-excel";

File file = new File(fileName);

try {

WritableWorkbook w = Workbook.createWorkbook(file);
WritableSheet s = w.createSheet("Demo", 0);
s.addCell(new Label(0, 0, "Hello World"));
w.write();
w.close();

} catch (Exception e) {
System.err.println("Ocurrio un error al generar el EXCEL");
e.printStackTrace();
}

System.out.println("--- regresando arhivo --");
return new FileStreamInfo(contentType, file);

}


}




Nota. Para que funcione este ejemplo es necesario tener el jar de jxl.jar

Suerte.

Spread Firefox Affiliate Button