Frank, I tried forwarding it to a jsp page ShowCharacters.jsp
<select name="TVShowSelect"> <%int i = 0; ArrayList ch = (ArrayList) request.getSession().getAttribute("characters"); String[] s = new String[ch.size()]; ch.toArray(s); for (Iterator it = s.length; it.hasNext();) { String name = (String)it.next(); %> <option><%=name%></option> </select> public ActionForward execute(ActionMapping mapping, ActionForm inForm, HttpServletRequest request, HttpServletResponse response) throws Exception { String tvShow = (String)request.getParameter("tvShow"); if (tvShow == null) { tvShow = ""; } ArrayList characters = getCharacters(tvShow); request.getSession().setAttribute("characters", characters); response.setContentType("text/html"); return mapping.findForward("success"); } // E But when I select some value from the first combo box(TVShowSelect),I get the message Problem:Internal Server Error. IN the logs,I get the following error message Servlet.service() for servlet jsp threw exception org.apache.jasper.JasperException: Unable to compile class for JSP: Stacktrace: at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:85) at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:435) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:298) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:277) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:265) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:299) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301) at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063) at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685) at java.lang.Thread.run(Thread.java:619) Can you please post the coding here? Thanks Frank W. Zammetti wrote: > > Simply forward to a JSP and render your output there, same as any Struts > Action. It can be XML, JSON, HTML, some custom format, whatever. I wish > I had written that article showing that in the first place since this is a > question that gets asked all the time, but I thought this was simpler (one > less bounce to follow the ball through), but in retrospect.. :( > > Frank > > -- > Frank W. Zammetti > Founder and Chief Software Architect > Omnytex Technologies > http://www.omnytex.com > AIM/Yahoo: fzammetti > MSN: [EMAIL PROTECTED] > Author of "Practical Ajax Projects With Java Technology" > (2006, Apress, ISBN 1-59059-695-1) > and "JavaScript, DOM Scripting and Ajax Projects" > (2007, Apress, ISBN 1-59059-816-4) > Java Web Parts - http://javawebparts.sourceforge.net > Supplying the wheel, so you don't have to reinvent it! > > On Tue, September 11, 2007 11:46 am, aarthy wrote: >> >> Hi, >> >> In the below code,how can I avoid the HTML coding in the action >> class?(http://www.omnytex.com/articles/xhrstruts/xhrstruts.zip) >> I tried many different codings,but everything failed. >> >> public class Example3GetCharactersAction extends Action { >> >> >> public ActionForward execute(ActionMapping mapping, ActionForm inForm, >> HttpServletRequest request, HttpServletResponse response) throws >> Exception >> { >> >> // Get a list of characters associated with the select TV show >> String tvShow = (String)request.getParameter("tvShow"); >> if (tvShow == null) { >> tvShow = ""; >> } >> ArrayList characters = getCharacters(tvShow); >> >> // And yes, I know creating HTML in an Action is generally very bad >> form, >> // but I wanted to keep this exampel simple. >> String html = "<select name=\"CharactersSelect\">"; >> int i = 0; >> for (Iterator it = characters.iterator(); it.hasNext();) { >> String name = (String)it.next(); >> i++; >> html += "<option value=\"" + i + "\">" + name + "</option>"; >> } >> html += "</select>"; >> >> // Write the HTML to response >> response.setContentType("text/html"); >> PrintWriter out = response.getWriter(); >> out.println(html); >> out.flush(); >> >> return null; // Not forwarding to anywhere, response is fully-cooked >> >> } // End execute() >> >> >> // This method returns a list of characters for a given TV show. If no >> TV >> // show is selected, i.e., initial page view, am empty ArrayList is >> returned. >> private ArrayList getCharacters (String tvShow) { >> >> ArrayList al = new ArrayList(); >> >> if (tvShow.equalsIgnoreCase("StarTrekTNG")) { >> al.add("Jean Luc Picard"); >> al.add("William T. Riker"); >> al.add("Data"); >> al.add("Deanna Troi"); >> al.add("Geordi LaForge"); >> } >> >> if (tvShow.equalsIgnoreCase("Babylon5")) { >> al.add("John Sheridan"); >> al.add("Delenn"); >> al.add("Londo Mollari"); >> al.add("Stephen Franklin"); >> al.add("Vir Cotto"); >> } >> >> if (tvShow.equalsIgnoreCase("StargateSG1")) { >> al.add("Samantha Carter"); >> al.add("Jack O'Neil"); >> al.add("Teal'c"); >> al.add("Daniel Jackson"); >> al.add("Baal"); >> } >> >> return al; >> >> } // End getCharacters() >> >> Thanks. >> >> -- >> View this message in context: >> http://www.nabble.com/Ajax-using-XMLHttpRequest-and-Struts-tf4423481.html#a12617736 >> Sent from the Struts - User mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/Ajax-using-XMLHttpRequest-and-Struts-tf4423481.html#a12620775 Sent from the Struts - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]