ajax - Struts2 and servlet integration -
i getting data action class servlet adding data session.whenever clicking item in select list onchange event fired function invoked our servlet ok,whenever send second time request servlet not called why? , comparsion failed maintain previous values only.here sending request ajax.pls can 1 provide solution ?
ajax code
function verify_details() { var resourceid=document.getelementbyid("res").value var url="/eis10/resourcetest?resourceid="+resourceid; ajax(url); }
action class code:
listresource=taskservice.getuserlist(taskid); system.out.println("the list of resources are::"+listresource); httpsession session=request.getsession(); session.setattribute("listresource", listresource);
servletcode
protected void doget(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { system.out.println("servlet called..........."); string resourceid=request.getparameter("resourceid"); boolean t=false; system.out.println("your clicked id::"+resourceid); httpsession session=request.getsession(); list l=(list)session.getattribute("listresource"); system.out.println("resource list in servlet:"+l); if(l!=null) { system.out.println("the size of list::"+l.size()); iterator itr=l.iterator(); while(itr.hasnext()) { string s=itr.next().tostring(); system.out.println("elements in list:"+s); if(s.equals(resourceid)) t=true; } response.setcontenttype("text/html"); if (t) { response.getwriter().write("y"); } else { response.getwriter().write("n"); } } } }
it's because browser returns contents cache @ second request. see http://spacebug.com/solving_browser_caching_problem_of_ajax-html/ solution, or use ajax library (jquery example) can handle you.
besides, if you're using struts, why use bare servlet handle ajax call? why don't use struts action?
Comments
Post a Comment