在JSF2.0应用程序中,如何从ManagedBean获取大量数据到javascript代码中?
我有一个JSF2.0应用程序,我需要从服务器端获取大量数据,以便加载到一个包含7000个javascript对象的多维数组中进行图形显示。最终,这些对象将由应用程序编辑并返回到服务器,以便存储在它们来自的数据库中,因此需要双向传输在JSF2.0应用程序中,如何从ManagedBean获取大量数据到javascript代码中?,javascript,arrays,jsf,jsf-2,Javascript,Arrays,Jsf,Jsf 2,我有一个JSF2.0应用程序,我需要从服务器端获取大量数据,以便加载到一个包含7000个javascript对象的多维数组中进行图形显示。最终,这些对象将由应用程序编辑并返回到服务器,以便存储在它们来自的数据库中,因此需要双向传输 通常通过隐藏的h:inputText项获取和设置数据的方法无法处理此类卷。我还尝试从客户端代码中调用ajax,但我不知道使用哪个url访问会话的ManagedBean。似乎这应该是可能的…您可以使用servlet通过jquery ajax检索和处理数据 Servlet
通常通过隐藏的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);
}
});
我知道如何从客户端发送ajax请求,但没有得到回复。我无法获得正确的url来访问为JSF应用程序生成的服务器端ManagedBean,或者如果我真的到达了,我不知道应该编写什么样的函数来以正确的格式返回正确的数据。ManagedBean通过其注释转换为其他对象。我如何1)获取要发送到的正确url,2)捕获并回复托管bean?再澄清一点:JSF应用程序的@ManagedBean Pojo必须转换为HttpServlet类的扩展,否则JSF xhtml文件中包含的内容和其他整洁的内容将首先无法工作。正是这个实例,我想要回答我的ajax请求。但是细节被注释的魔力隐藏了一点。。。当我尝试应用程序的URL时,甚至在full()中指定,我似乎没有到达bean…谢谢你,这就是我需要听到的