如何使用ajax从另一个页面发送jsp发送的json字符串中的数据

时间:2013-08-05 03:24:39

标签: html json jsp

我正在开发一个Web应用程序。我使用jsp从数据库中获取值并显示给用户。在用户的某些操作上,我想加载另一个页面,该页面需要从数据库中获取相同的值。

为此,我在page1.jsp中创建了此数据的json对象,并传递给另一个page2.jsp。 现在我想要检索那些数据。我尝试使用gunction getString()函数,但它给出了null值。

我的第一页是发送json数据

$.ajax({
   type : "POST",
   url:   "./ProfileUser.jsp",            // This not redirecting. 
   data:  "jsonData=" + JSON.stringify(jsonobj),
   dataType: "json" 
   });
 $(location).attr('href',url);           //This is redirecting, If I removed this then another page is NOT loading

以及我正在检索此数据的jsp代码

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<%@page import="com.google.gson.JsonObject" %>
<%@page import="org.codehaus.jettison.json.JSONObject"%>
<%
String jsonData = request.getParameter("jsonData");
JSONObject j  =new JSONObject(jsonData);
String mobile = j.getAttribute("mobile");   //error occures here
%>

我得到错误

type Exception report

message An exception occurred processing JSP page /ProfileUser.jsp at line 15

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /ProfileUser.jsp at line 15

12: <%
13: String jsonData = request.getParameter("jsonData");
14: //JONObject userinfo = (JSONObject) new JSONTokener(jsonData).nextValue();
15: JSONObject j  =new JSONObject(jsonData);
16: String mobile = j.getString("mobile");
17: %>
18: <!DOCTYPE html>


    Stacktrace:
        org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    root cause

    java.lang.NullPointerException
        org.codehaus.jettison.json.JSONTokener.more(JSONTokener.java:89)
        org.codehaus.jettison.json.JSONTokener.next(JSONTokener.java:99)
        org.codehaus.jettison.json.JSONTokener.nextClean(JSONTokener.java:153)
        org.codehaus.jettison.json.JSONObject.<init>(JSONObject.java:168)
        org.codehaus.jettison.json.JSONObject.<init>(JSONObject.java:266)
        org.apache.jsp.ProfileUser_jsp._jspService(ProfileUser_jsp.java:75)
        org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

如何在jsp中获取此数据? 谢谢。

0 个答案:

没有答案