I am new to Ajax and JAVA.
I am able to call the servlet class from the JSP page using AJAX.
The servlet class is called successfully.
I am processing some data and the data has to passed back to the front end JSP.
I have used the following code
**********************JAVA Script:***************************
Expand|Select|Wrap|Line Numbers
- function getRequestObject() {
- if (window.ActiveXObject) {
- return(new ActiveXObject("Microsoft.XMLHTTP"));
- } else if (window.XMLHttpRequest) {
- return(new XMLHttpRequest());
- } else {
- return(null);
- }
- }
- function displayTimeInCity(val) {
- alert('test');
- alert(val);
- var address = "start";
- alert(document.getElementById('F_010_ADDRESSTYPE'));
- alert(document.getElementById('F_010_ADDRESSTYPE').value);
- var addr = document.getElementById("F_010_ADDRESSTYPE").value;
- alert(addr);
- var data = "addr=" + escape(addr) + "&useHTML=true";
- sendRequestWithData(address, data, showResponseText);
- }
- function sendRequestWithData(address, data, responseHandler) {
- request = getRequestObject();
- request.onreadystatechange = responseHandler;
- request.open("POST", address, true);
- request.setRequestHeader("Content-Type",
- "application/x-www-form-urlencoded");
- alert(address);
- request.send(data);
- }
- function showResponseText() {
- if ((request.readyState == 4) &&
- (request.status == 200)) {
- alert(request.responseText);
- document.getElementById("F_010_STREET1").value =
- request.responseText;
- }
- }
*************************servlet Class*********************************
Expand|Select|Wrap|Line Numbers
- //Function called as "doPost" in this servlet....
- public String doHandleEvent(String eventName, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
- {
- // Set the name of the JSP that has to be called when this method is finished.
- // INITIAL_JSP ist defined in the interface Constants.java
- System.out.println(" in events");
- String nextJSP = INITIAL_JSP.jsp;
- //Data passed as query parameter to the servlet class.....
- if (request.getParameter("addr")!=null)
- {
- response.setHeader("Cache-Control", "no-cache");
- response.setHeader("Pragma", "no-cache");
- response.setContentType("text/html");
- //System.out.println("Addr = "+request.getParameter("addr"));
- //PrintWriter out = response.getWriter();
- //out.print("naveen");
- RequestDispatcher dispatcher =
- request.getRequestDispatcher("naveen");
- dispatcher.include(request, response);
- return nextJSP;
- }
- return nextJSP; //nextJSP is the String param with "inital.jsp"
- }
How do i get the String "Naveen" in the JAVA Script Code...
"request.responseText"
I am getting the following error:
************************************************** ****************************************
<h1>Error: 500</h1><h2>Location: /INFOXPHARMA/start</h2><b>Internal Servlet Error:</b><br><pre>java.lang.IllegalStateException: Cannot forward as OutputStream or Writer has already been obtained at org.apache.tomcat.facade.RequestDispatcherImpl.doF orward(RequestDispatcherImpl.java:178) at org.apache.tomcat.facade.RequestDispatcherImpl.for ward(RequestDispatcherImpl.java:162) at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServle t.dispatchRequest (AbstractMEHttpServlet.java:907) at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServle t.doGetNotThreadSafe(AbstractMEHttpServlet.java:34 8) at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServle t.doGet(AbstractMEHttpServlet.java :689) at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServle t.doPost(AbstractMEHttpServlet.java:706) at javax.servlet.http.HttpServlet.service(HttpServlet .java:760) at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServle t.service (AbstractMEHttpServlet.java:313) at javax.servlet.http.HttpServlet.service(HttpServlet .java:853) at org.apache.tomcat.core.ServletWrapper.doService(Se rvletWrapper.java:405) at org.apache.tomcat.core.Handler.service(Handler.jav a :287) at org.apache.tomcat.core.ServletWrapper.service(Serv letWrapper.java:372) at org.apache.tomcat.core.ContextManager.internalServ ice(ContextManager.java:806) at org.apache.tomcat.core.ContextManager.service(Cont extManager.java :752) at org.apache.tomcat.service.http.HttpConnectionHandl er.processConnection(HttpConnectionHandler.java:21 3) at org.apache.tomcat.service.TcpWorkerThread.runIt(Po olTcpEndpoint.java:416) at org.apache.tomcat.util.ThreadPool$ControlRunnable. run (ThreadPool.java:501) at java.lang.Thread.run(Thread.java:534)</pre>
************************************************** ****************************************
Thanking you in advance.
Naveen