Bonjour à tous
j'implemente dans le cadre d'un projet en entreprise la libraire ajaxtags 1.3 pour faire principalement de l'autocompletion.
Je suis en environnement struts version 1
mon problème arrive au niveau de la generation de ma liste en arbre xml
je rencontre l'erreur suivante en renseignement directement dans l'url mon action struts suivi du paramtetre pour l'autocompletetion (première lettre d'un mot)
url :
j'obient l'erreur suivante :http://xxx.xx.xxx.xx: xxxx/autocomplete.do?model=A
lorsque que je ne renseigne pas de paramètre dans l'url j'obtient la page suivante :Error 500--Internal Server Error
java.lang.NoSuchMethodError: org.ajaxtags.helpers.Item.<init>(Ljava/lang/String;Ljava/lang/Object;Z)V
at org.ajaxtags.helpers.ValueItem.(Unknown Source)
at org.ajaxtags.xml.AjaxValueListXmlBuilder.addItem(Unknown Source)
at org.ajaxtags.xml.AjaxXmlBuilder.addItem(Unknown Source)
at org.ajaxtags.xml.AjaxXmlBuilder.addItems(Unknown Source)
at com.socgen.bip.ajax.action.AutocompleteServlet.getXmlContent(AutocompleteServlet.java:71)
at com.socgen.bip.ajax.action.AutocompleteServlet.execute(AutocompleteServlet.java:54)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:272)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:165)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3153)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:1973)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1880)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1310)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
voici en exemple la structure de ma liste :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?xml version="1.0" encoding="UTF-8" ?> - <ajax-response> <response /> </ajax-response>
ainsi que mon action qui est appelé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 private static List<Car> cars = new ArrayList<Car>(); static { cars.add(new Car("Honda", "Accorddsdsdsdsdsdsd")); cars.add(new Car("Honda", "Accorddsdsdsdsdsdsdsds1")); cars.add(new Car("Honda", "Accord2")); cars.add(new Car("Honda", "Accordsdddddddddddddddddddddddddddd3")); cars.add(new Car("Honda", "Accord4")); }
avez vous dejà) rencontrer ce problème, je pense que c'est au niveau de la generation xml mais je n'arrive pas à desseler l'erreur
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
29public class AutocompleteServlet extends Action implements BaseAjaxXmlAction { public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { response.getWriter().print(getXmlContent(request, response)); response.getWriter().flush(); return null; } public String getXmlContent( HttpServletRequest request, HttpServletResponse response) throws Exception { String model = request.getParameter("model"); logBipUser.debug("ajax"+model); CarService service = new CarService(); List<Car> list = service.getModelsByName(model); // Create xml schema return new AjaxXmlBuilder().addItems(list, "model", "make",true).toString(); } }
pouvez vous m'aider?
Merci a+
Partager