Bonjour tout le monde,

dans mon appli basé sur Struts 1.3.8 j'essaye de mettre en place un autocompleter avec Ajaxtags, sauf que pas de bol depuis ce matin ça bloque, alors je vous explique :

dans mon form que j'ai essayé de simplifier au maximum :

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
 
<html:form> 
<!-- action="/AnalyseSite" styleId="monFormDisplay"> -->
	 <fieldset>
 
        <legend>Choisissez un site à analyser</legend>
	<p>
		<label >Le non du site  :</label>
 
		<html:text property="siteChosen" name="SAForm" />		
		<input type="hidden" name="idSiteChosen" id="idSiteChosen"  />	
 
		 <br/>
	</p>
		<html:submit>Afficher les statistiques du site</html:submit> 
	</fieldset>
 
</html:form>
 
		<ajax:autocomplete
		  baseUrl="http://localhost:12932/LogReaderSarpi/ajaxListeSite.do"
		  source="siteChosen"
		  target="idSiteChosen"
		  parameters="siteChosen={siteChosen}"
		  className="autocomplete"
		  indicator="throbbing"
		  minimumCharacters="1" 
		  />
Le but est d'avoir une liste de suggestion à partir d'une liste de ma base, bref le classique quoi pour un Autocompleter

Ma classe action qui est censé traiter ça est cella :

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
 
public class SiteAjaxAction extends BaseAjaxAction {
 
	@Override
	public String getXmlContent(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
 
		System.out.println("Inside Ajax Action");
		String sitePrefix = request.getParameter("siteChosen");
		SitaAnalyseForm saf = (SitaAnalyseForm)form;
		String[] siteNames = saf.getListSites();
		AjaxXmlBuilder builder = new AjaxXmlBuilder();
		for(String site: siteNames) {
			if(site.toUpperCase().startsWith(sitePrefix.toUpperCase())) {
				builder.addItem(site, site);
			}
		}
		return builder.toString();
	}
}
Je vous confirme, jusque là cette classe malheureusement ne s'exsecute jamais, j'ai verifié ça avec des points d'arret ainsi que les System.out.p.....;

pour moi cette classe action est bien mappée sur le fichier Struts-config.xml ci dessous :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
 <action   path      = "/ajaxListeSite"
    		  name      = "SAForm"
   	 		  type		= "com.log.reader.report.actionAjax.SiteAjaxAction"
              scope     = "request"
              validate  = "false"
     />
pour tout ce qui est jar j'ai ça

ajaxtags-1.5.7.jar
ajaxtags-resources-1.5.1.jar

j'importe aussi les fichier Javascripte,


<script type="text/javascript" src="js/ajax/prototype.js"></script>
<script type="text/javascript" src="js/ajax/ajaxtags.js"></script>
<script type="text/javascript" src="js/ajax/scriptaculous/scriptaculous.js"></script>
<script type="text/javascript" src="js/ajax/overlibmws/overlibmws.js"></script>

<style><jsp:include page="/CSS/ajaxtags.css" flush='true' /></style>

j'ai testé ils sont bien appelés sur la jsp.

ce qui me gave c'est que j'ai 0 erreurs et en arrivant au champ qui devrai etre "Autocompleted" il y a rien qui ce passe,

J'ai des soupçons sur le

baseUrl du tag ajax:autocomplete

indiqué la haut :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
<ajax:autocomplete
		  baseUrl="http://localhost:12932/LogReaderSarpi/ajaxListeSite.do"
bon bref, si vous avez une idée ou que vous avez deja passé par la, je serai bien reconnaissant si vous me fillez un coup de main dessus