在JSF 2.0应用程序中,我如何从ManagedBean获得大量数据到我的javascript代码中?

In a JSF 2.0 app, how can i get a huge array of data into my javascript code from the ManagedBean?

本文关键字:数据 代码 javascript 我的 应用程序 JSF ManagedBean      更新时间:2023-09-26

我有一个JSF 2.0应用程序,我需要从服务器端ManagedBean获得大量数据,以便将其加载到包含约7000个javascript对象的多维数组中以进行图形显示。最终,这些对象将被应用程序编辑并返回到服务器中存储回它们来自的数据库中,因此需要在两个方向上传输。

通常通过隐藏的h:inputText项获取和设置数据的方法无法处理这种量。我还试图从我的客户端代码做一个ajax调用,但我不知道要使用什么url来访问我的会话的ManagedBean。

你可以使用servlet来检索和处理jquery ajax数据

Servlet类:

    @WebServlet("/jsonservlet/*")
    public class JSONServlet extends HttpServlet {


        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException{
           //use any json library ( I recommended gson library)
            response.setContentType("application/json");            
           response.getWriter().write(jsonData)
        }
    } 

现在你可以使用jquery对这个servlet进行ajax调用来检索json返回的数据

$.ajax({
        url: "jsonservlet",
        type: 'GET',
        dataType: 'json',
        contentType: 'application/json',
        mimeType: 'application/json',
        success: function (data) {
            //here you can populate your javascript array 
        },
        error:function(data,status,er) {
            alert("error: "+data+" status: "+status+" er:"+er);
        }
    });