将Java数组从Java Servlet返回到jQuery
发布时间:2020-12-15 02:27:04 所属栏目:Java 来源:网络整理
导读:我目前正在开发一个Web应用程序,它使用适用于jQuery的Cycle插件显示图像的幻灯片.为了便于使用,我正在使应用程序可配置,允许某人更改可以找到幻灯片图像进行显示的路径.我已经找到了将所有图像文件名创建到一个String数组中的必要代码,但我不完全确定如何将
我目前正在开发一个Web应用程序,它使用适用于jQuery的Cycle插件显示图像的幻灯片.为了便于使用,我正在使应用程序可配置,允许某人更改可以找到幻灯片图像进行显示的路径.我已经找到了将所有图像文件名创建到一个String数组中的必要代码,但我不完全确定如何将整个数组传递回我的jQuery进行处理.我已经使用
Java Servlet作为代理来访问某些RSS源,因此我决定使用“$.get()”方法来生成带有标记参数的HTTP请求,以确定要执行的功能.
简而言之,我如何将一个String数组传递给一个HttpServletResponse变量,以便可以像我的jQuery中的String数组一样访问它?这是我到目前为止使用的一些代码……注意:我对Java和JavaScript都很陌生,包括jQuery.我知道我的代码可能很邋and和/或效率低下. ---HERE'S THE JAVA SERVLET---- import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.net.URL; import javax.servlet.http.HttpServlet; public class BBSServlet extends HttpServlet { private void getSlidesList(final HttpServletResponse response) throws ServletException,IOException { try { File slidesdir = new File(AppConfiguration.getInstance().getSlidesDir()); if(slidesdir.isDirectory()) { String slidenames[] = slidesdir.list(); // This is what I thought I could do... final PrintWriter writer = response.getWriter(); for(int i = 0; i < slidenames.length; i++) { writer.println(slidenames[i]); } // But I'm not sure if it works... } } catch(final IOException e) { e.printStackTrace(); } } public void doGet(final HttpServletRequest request,final HttpServletResponse response) throws ServletException,IOException { response.setContentType("text/xml"); final URL url; if(request.getParameter("p").equals("w")) { url = new URL(AppConfiguration.getInstance().getForecastUrl()); sendXML(response,url); } else if(request.getParameter("p").equals("n")) { url = new URL(AppConfiguration.getInstance().getNewsUrl()); sendXML(response,url); } else if(request.getParameter("P").equals("f")) { getSlidesList(response); } } } ---jQuery js------------ // function called from the $(document).ready() function DisplaySlides() { $.get(baseContext + "/servlet?p=f",function(data) { // "data" is hopefully a String array? } // display my slideshow with that array } 解决方法
我建议在Java中使用JSON Parser(例如
Jackson)将字符串数组转换为JSON.然后jQuery可以读取它并将其转换为
jQuery.getJSON的javascript数组.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |