-2

我想调用一个servlet。servlet 将从数据库中获取数据并将其保留在请求中。并且我不需要在some.jsp使用 jstl 标签时显示结果。

$('#ownForm #myButton').click(function() {

        $.ajax({
            type: "GET",
            url: "./controller",
            success: function(msg) {
                //Todo
            },
            error: function(ob,errStr) {
                //Todo

            }
        });

        });

在 servlet 我有以下代码:

//keep database returned list in request 
request.setAttribute("myresult", result);
request.getRequestDispatcher("/WEB-INF/some.jsp").forward(request, response);

请帮助我如何实现它?

4

1 回答 1

0

忽略jsp。使用 FlexJson 将结果直接从结果对象序列化为 json。将序列化结果打印到响应中的输出流。

像这样的东西:

response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
JSONSerializer serializer = new JSONSerializer();
serializer.exclude("*.class"); //reduce clutter in your output as you see fit
serializer.serialize(objectToSerialize, response.getWriter());

使用 jquery,解析这个 json 并对结果采取行动。

于 2013-08-07T11:36:45.583 回答