Bonjour a tous, j'utilise spring pour réaliser une web application et j'aimerai utilisé ajax pour faire appel à mon contrôleur sans avoir à recharger la page. Pour cela j'essai d'installer DWR dans Spring mais pour le moment mes tentatives sont infructueuses il y a de nombreux tutos tous indiquant des méthodes différentes. J'utilise la dernière version de DWR celle qui a priori permet de s'abstenir de créer le fichier de configuration dwr.xml mais je n'arrive toujours pas à faire fonctionner DWR. J'ai inclus dwr.jar dans WEBINF/lib et j'ai renseigner les différents fichiers

web.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
32
33
34
35
36
 
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<display-name>protoEngine</display-name>
 
	<!-- DWR Configuration -->
	<servlet>
		<servlet-name>dwr</servlet-name>
		<servlet-class>org.directwebremoting.spring.DwrSpringServlet</servlet-class>
		<init-param>
			<param-name>debug</param-name>
			<param-value>true</param-value>
		</init-param>
	</servlet>
	<servlet-mapping>
		<servlet-name>dwr</servlet-name>
		<url-pattern>/dwr/*</url-pattern>
	</servlet-mapping>
 
	<!-- Spring Entry point -->
	<servlet>
		<servlet-name>dispatcher</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>/WEB-INF/applicationContext.xml,/WEB-INF/dispatcher-servlet.xml</param-value>
		</init-param>
	</servlet>
	<servlet-mapping>
		<servlet-name>dispatcher</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>
</web-app>
dispatcher-servlet.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
32
33
34
 
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xmlns:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
	xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.directwebremoting.org/schema/spring-dwr
        http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd">
 
...
 
	<dwr:configuration />
	<dwr:controller id="dwrController" debug="true"/>
 
...
 
	<bean id="projectCreationController" class="org.hobr.proto.engine.web.project.projectCreationController">
		<property name="formView" value="views/projectCreation" />
		<property name="successView" value="views/projectCreationSuccess" />
		<property name="commandName" value="projectCreation" />
		<property name="commandClass" value="org.hobr.proto.engine.web.project.projectCreation" />
		<property name="validator">
			<bean class="org.hobr.proto.engine.web.project.projectCreationValidator" />
		</property>
		<dwr:remote javascript="projectCreationController">
			<dwr:include method="write" />
		</dwr:remote>
	</bean>
</beans>
et mon fichier jsp : projectCreation.jsp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles"%>
<%@ page import="org.hobr.proto.engine.web.utils.TilesConstants" %>
 
<tiles:insertDefinition name="<%=TilesConstants.TILES_DEFINITIONS%>">
	<tiles:putAttribute name="body" type="string">
		<script type="text/javascript" src="/dwr/projectCreationController.js"></script>
		<script type="text/javascript">
			function chercher()
			{
				document.forms['form'].search.value="Trouver";
				projectCreationController.write();
			}			
		</script>
		<h2>...</h2>
		....
	</tiles:putAttribute>
</tiles:insertDefinition>
Pour le moment j'aimerai juste faire fonctionner une fonction, la fonction write de mon controleur mais je n'y arrive pas donc si quelqu'un a une idée ou une solution ça m'aiderai énormement. Merci d'avance