Creating a json object in jsp and using it with JQuery

后端 未结 4 1536
既然无缘
既然无缘 2020-12-01 22:54

I\'ve created a JSP application, which gets results based on a user search (using lucene). I store the results in a Bean.

I\'m also using Jquery Ajax to display the

相关标签:
4条回答
  • 2020-12-01 23:25

    Ultimately its being trasnferred over http. So, creating a json object wont do much help.

    I am not a java expert but you can create a simple string which matches with json structure and then parse it on client side.

    Like

    string s =  { "title": "testTitle", "link" : "testLink"}
    out.println(s)
    

    This will do the trick.

    Edit: by seeing Darin's answer,

    Include this on you java code,

    <%@page contentType="application/json; charset=UTF-8"%>
    
    0 讨论(0)
  • 2020-12-01 23:31

    Pretty simple approach would be to use taglib - json something like this :

    <%@ taglib prefix="json" uri="http://www.atg.com/taglibs/json" %>
    

    Then you can use json tags to create it out of list:

    <json:array items="${someObject.someList}" var="oneRow">
    <json:object>
        <json:property name="username" value="${oneRow.username}"/>
        <json:property name="password" value="${oneRow.password}"/>
        <json:property name="email" value="${oneRow.email}"/>
    </json:object>
    

    Above jsp when executes will O/P following :

    [
     {"username":"varun","password":"*****","email":"johndoe@sssdotcom"},
     {"username":"ved","password":"*****","email":"johndoe1@sssdotcom"},
     {"username":"von","password":"*****","email":"johndoe2@sssdotcom"}
    ]
    

    Thats all folks!

    0 讨论(0)
  • 2020-12-01 23:45

    Here's an example you may take a look at. Basically your JSP page might look like this:

    <%@page contentType="text/html; charset=UTF-8"%>
    <%@page import="org.json.simple.JSONObject"%>
    <%
        JSONObject json = new JSONObject();
        json.put("title", "TITLE_TEST");
        json.put("link", "LINK_TEST");
        out.print(json);
        out.flush();
    %>
    

    and on the client:

    $.ajax({
        url : 'search.jsp',
        data : { search: 'test' },
        dataType: 'json',
        success : function(json) {
            alert(json.title);
        }
    });
    

    And here are even more examples.

    0 讨论(0)
  • 2020-12-01 23:50

    This worked for me:

    %>
    String json = "{ \"title\": \"testTitle\", \"link\" : \"testLink\"}";
    response.getWriter().write(json);
    response.getWriter().flush();
    response.getWriter().close();
    <%
    

    I used it to feed an easyui-datagrid. response.getWriter().write(json) worked, but out.println(json) did not though he didn't throw any exceptions. Also the inner quotes must be double as well, so it becomes necessary to mask them with `\".

    0 讨论(0)
提交回复
热议问题