Estoy intentando configurar DWR en mi proyecto pero no encuentro la manera de que me reconozca en las js, por ejemplo, el objeto 'DWRUtil'.
1.- En primer lugar me he creado mi fichero dwr.xml en 'WebContent/WEB-INF'.
2.- He añadido la librería dwr.jar en 'WebContent/WEB-INF/lib'.
3.- Añado el 'servlet' al web.xml:
Código:
4.- He creado una clase java llamada 'PruebaDWR' que es donde quiero llamar desde javascript. He añadido esta clase al dwr.xml<servlet> <servlet-name>dwr-invoker</servlet-name> <display-name>DWR Servlet</display-name> <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>dwr-invoker</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping>
Código:
5.- En una jsp he añadido algo así:<create creator="new" javascript="PruebaDWR"> <param name="class" value="es.juntadeandalucia.salud.albatros.industriasAlimentarias.dwr.PruebaDWR"/> </create>
Código:
Mi problema es que cuando cambio la opción del select se va a la función 'update()' pero no encuentra ni el objeto 'DWRUtil' ni 'PruebaDWR'. En concreto me dice 'DWRUtil is not defined'.<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!-- Importaciones DWR --> <script type='text/javascript' src='dwr/interface/PruebaDWR.js'></script> <script type='text/javascript' src='dwr/engine.js'></script> <script type='text/javascript' src='dwr/util.js'></script> <script type="text/javascript"> ... function update(){ PruebaDWR.obtenerDatosDWR(respObtenerDatosDWR); DWRUtil.removeAllOptions('clave'); } function respObtenerDatosDWR(data){ alert(data); } ... </script> <s:head theme="ajax"/> </head> <body> ... <select name="clave" size="1" onchange="update();" id="clave"> <option value="AST">Asturias</option> <option value="MAD">Madrid</option> <option value="BCN">Barcelona</option> <option value="VAL">Valencia</option> </select> ... </body> </html>
¿Que he configurado mal? Parece q no me importa la librería...
En cambio si pongo en el navegador: 'localhost:8080/XXXXX/dwr/util.js', 'localhost:8080/XXXXX/dwr/engine.js' o 'localhost:8080/XXXXX/dwr/interface/PruebaDWR.js' me accede correctamente mostrándome el código de los ficheros.
Espero que puedan ayudarme...
Un Saludo y muchas gracias!!