Intentando mejorar

     
Todo | Linux | General | Java
 
Depurar un applet desde Eclipse

Bueno, no se si alguien ha tenido esta necesidad o la tendrá, pero yo he tenido que hacerlo recientemente y aquí está descrito brevemente el proceso de como hacerlo.

La información la he obtenido del la página http://www.jroller.com/page/gursesl/print/remote_application_debugging_with_weblogic

1. Configurar el plug-in de java para realizar debug :

En el panel de control -> Java Plug-in, poner los siguientes parámetros del runtime de java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000

2. Eclipse

Run -> Debug...

Crear un perfil Remote Java Application.

Seleccionar el proyecto que contiene los fuentes para la depuración y el puerto 8000 que es el que hemos seleccionado en el java plug-in.

Bueno, espero que cuando lo necesiteis no tengais que perder una mañana para ver como se hace.
@ 04:47 AM EST [ Comments [0] ]
 
 
 
 
Nos vemos en el congreso

Ya sólo falta un día para que empieze el congreso de JavaHispano. Logré convencer a mi jefe, y ahí estaré. Hacía un año que lo estaba esperando, pues el año pasado no pude asistir.

Espero ver a toda la gente que sigo por los blogs y compartir todo lo que pueda.

Hasta mañana

@ 04:14 AM EST [ Comments [0] ]
 
 
 
 
Paginacion de resultados en MSSQL
Como mi compañero de trabajo esta de baja, estoy preparando un servicio en Delphi que devuelve una serie de resultados paginados. Estaba tan acostumbrado a la paginacion con Hibernate que no sabía como hacerlo. Googleando, he encontrado una página de un brasileño, que se habia encontrado con el mismo problema y lo ha resuelto de la forma que describo a continuación. He incluido este en el blog por si alguien se encuentra con el mismo problema.


SELECT *
FROM (
SELECT TOP $numero_resultados *, $columna_orden AS Ordenar
FROM (SELECT TOP ($desde + $numero_resultados) *
FROM $tabla
WHERE $condicion
ORDER BY $columna_orden ASC) x
ORDER BY x.$columna_orden DESC) t
ORDER BY t.Ordenar


$desde : Desde el resultado que queremos
$numero_resultados : numero de elementos por página
$columna_orden : Columna(s) en base al cual estan ordenados los datos

Si deseamos obtener los resultados desde el 20 al 30, entonces numero_resultados = 10 y desde = 20
3 selects :
TERCERO : Selecciona desde el primer elemento hasta el ultimo elemento deseado por nosotros ('hasta') (con orden ASCEDENTE).

SEGUNDO : Sobre este resultado, invierte el orden y toma los 'numeroResultados' primeros

PRIMERO : Vuelve a ordenar el resultado por el orden que nos interesa
@ 03:27 AM EDT [ Comments [1] ]
 
 
 
 
Struts menu
Estos últimos días he estado modificando el sistema de menús en la aplicación web que estamos desarrollando, ya hablaré sobre las tecnologías utilizadas en otro post. Necesitaba que los menús de la misma se despleguesan en función de los permisos de los usuarios. Al buscar por internet me encontré con struts menu. A pesar de que la documentación de la web es bastante buena, he querido poner un post con un resumen de los que me he encontrado.

Struts menu

Se trata de una biblioteca de tags que permite crear menús en las páginas web a partir de su declaración en XML. Los dos aspectos que más me han gustado de este sistema son la integración con el sistema de seguridad gestionado por los contenedores web y la posibilidad de personalizar la presentación de los menús utilizando VelocityMenuDisplayer, que se basa en una plantilla Velocity para presentar el menú.

Personalización de los menús con Velocity. Permite la personalización en la presentación de los menús utilizando el sistema de plantillas Velocity. De esta forma podemos dar el aspecto que deseemos a nuestros menús.

Seguridad. Está totalmente integrado con el sistema de autenticación/autorización en el contenedor web. De esta forma podemos indicar los roles a los que se les permite el acceso a las opciones del menú. El sistema no presentará las opciones del menú a las que un usuario no tenga acceso.

¿Cómo se definen los menús?

Los menús se definen en un fichero XML. El formato del fichero es el siguiente

En la sección Displayers, se incluyen los renders que podemos utilizar para presentar los menús en la página web. De los múltiples displayers que hay destacamos el VelocityMenuDisplayer ya que permite personalizar completamente la presentación de los menús.

En la sección Menus, es donde definimos los menús. Crearemos un elemento Menu por cada menú que deseemos crear. Cada menú podrá tener una serie de opciones, los Item.

Atributos de Menu y de Item

action : Nombre del action de struts que queremos llamar al pulsar sobre la opción location : URL que deseamos abrir al pulsar sobre la opción permissions : Nombre de los roles que tienen acceso al menú.

¿Cómo lo integramos en nuestras aplicaciones?

1) Dependencias

struts-menu.tld en WEB-INF Se trata de la biblioteca de tags de struts menu.

struts-menu.jar en WEB-INF/lib

standard.jar en WEB-INF/lib

Si utilizamos el Displayer Velocity, además necesitamos :

velocity.jar en WEB-INF/lib

velocity-tools.jar en WEB-INF/lib

globalMacros.vm en WEB-INF/classes Necesario para crear el menú. Sino lo incluimos, simplemente no veremos el menú.

De la aplicación ejemplo que viene con struts-menu, podemos tomar las siguientes carpetas que contienen las plantillas, las hojas de estilo y los scripts de javaScript. Las carpetas son scripts, styles y templates ubicadas en la raiz de la aplicación web. Si miramos los ejemplos, como velocity-tabs.html observaremos como hace referencia a diversos ficheros de estas carpetas, más concretamente a una hoja de estilo, a un fichero de scripts y al fichero que contiene la plantilla en Velocity.

2) Integración con struts mediante el plug-in. Añadiremos el plugin al final del fichero struts-config.xml

En la propiedad menuConfig estamos indicando el fichero que contiene la definición de los menus.

3) Preparando los menus en nuestras páginas web.

Debemos añadir la declaracion de la biblioteca de tags de struts-menu

<%@taglib uri="/WEB-INF/struts-menu.tld" prefix="menu"%>

Si se utiliza freeMarker para la capa de presentación :

<#assign menu=JspTaglibs["/WEB-INF/struts-menu.tld"]>

Para presentar un menu haremos lo siguiente

Indicamos que cree una instancia de RolesPermissionAdapter para validar los permisos del usuario contra los roles que tenga definidos.

Si se utiliza freeMarker :

<@menu.useMenuDisplayer name="Velocity" config="/include/templates/tabs.html" bundle="org.apache.struts.action.MESSAGE" permissions="rolesAdapter">

Struts menú sólo dispone de 2 tags : userMenuDisplayer y displayMenu

Notas

Hemos de utilizar el displayer VelocityDisplayer si queremos hacer uso de parte de las propiedades de los menus, como por ejemplo el marco de un frame en el que deseamos cargar una página al pulsar sobre un menu, ya que con el displayer TabbedMenu, si ponemos el target nos ignora. Además nos permite adaptar el aspecto del menú al look&feel de la web.

@ 09:20 AM EST [ Comments [11] ]
 
 
 
 
El inicio
Hola a todos. Este es mi primer post. Llevo varios meses leyendo los weblogs de JavaHispano y he aprendido mucho gracias a ellos. He iniciado este weblog porque me gustaría ir narrando mis experiencias con Java y Linux a todos vosotros. Tras varios años programando en Delphi, decidí pasarme a Java por varias razones. La primera fue la capacidad de la plataforma J2EE para el desarrollo de aplicaciones web y middleware. La segunda la comunidad de desarrolladores Java, entre ellas destaco a JavaHispano y a JUGAR por el hecho de ser en español. Y la tercera por la cantidad de proyectos de código abierto que me han permitido implementar aplicaciones con una base sólida en un tiempo record. De estas destaco Hibernate, Cocoon y Struts. Saludos.
@ 07:35 PM EST [ Comments [160] ]
 
 
 
 
 
« August 2008
SunMonTueWedThuFriSat
     
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
      
Hoy

[RSS Newsfeed]

Valid XHTML or CSS?

[This is a Roller site]
Theme by Rowell Sotto.
 
© Intentando mejorar