Framework ZK para manejo de Ajax en Java

by Jorge Machin on January 5, 2009 · 0 comments

in Java

El Framework ZK, es una buena opción para manejar interfaces RIA desde nuestros proyectos en J2EE usando AJAX. A continuación presento la lista de pasos para hacer un pequeño ejemplo en TomCat.

1. Creamos el directorio zktest dentro el directorio webapps para que sea nuestro proyecto de pruebas.

2. Creamos el directorio WEB-INF dentro del directorio zktest.

3. Opcionalmente, agregamos un contexto para nuestro proyecto de prueba en el archivo conf/server.xml antes de finalizar el tag server.

<Context path="/zktest" docBase="zktest" reloadable="true">
</Context>

4. Desempaquetamos el archivo zk-bin-xxx.zip en un directorio temporal.

5. Copiamos los jars que se encuentran en el directorio dist/lib a la raíz directorio WEB-INF/lib de nuestro proyecto, incluyendo los que se encuentran en los subdirectorios ext y zkforge.

6. Agregamos el siguiente código al archivo web.xml habitual para que quede de la forma:

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
  http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">

<!-- ZK -->
  <listener>
    <description>Used to clean up when a session is destroyed</description>
    <display-name>ZK Session Cleaner</display-name>
    <listener-class>org.zkoss.zk.ui.http.HttpSessionListener</listener-class>
  </listener>

  <servlet>
    <description>ZK loader for ZUML pages</description>
    <servlet-name>zkLoader</servlet-name>
    <servlet-class>org.zkoss.zk.ui.http.DHtmlLayoutServlet</servlet-class>
    <init-param>
      <param-name>update-uri</param-name>
      <param-value>/zkau</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>zkLoader</servlet-name>
    <url-pattern>*.zul</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>zkLoader</servlet-name>
    <url-pattern>*.zhtml</url-pattern>
  </servlet-mapping>

  <servlet>
    <description>The asynchronous update engine for ZK</description>
    <servlet-name>auEngine</servlet-name>
    <servlet-class>org.zkoss.zk.au.http.DHtmlUpdateServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>auEngine</servlet-name>
    <url-pattern>/zkau/*</url-pattern>
  </servlet-mapping>

  <welcome-file-list>
    <welcome-file>index.zul</welcome-file>
    <welcome-file>index.zhtml</welcome-file>
  </welcome-file-list>

</web-app>

7. Con esta configuración, ya podemos hacer nuestro primer ejemplo. Grabamos el archivo index.zul en la raiz del directorio zktest:

<window title="Mi Primera ventana" border="normal" width="200px" sizeble="true" closabe="true">
    Hello, World!
</window>

8. Es todo... a diseñar pantallas.

Leave a Comment

Previous post:

Next post: