私はウェブアプリケーションを開発しています。jsp を使用してデータベースから値を取得し、ユーザーに表示しました。ユーザーからの特定のアクションで、データベースからフェッチされた同じ値を必要とする別のページをロードしたいと考えています。
このために、このデータの json オブジェクトを page1.jsp に作成し、別の 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で取得するにはどうすればよいですか? ありがとうございました。