将字符串数组从Javaservlet返回到jQuery
我目前正在开发一个web应用程序,它使用Cycle插件for jQuery显示图像的幻灯片。为了便于使用,我将应用程序设置为可配置的,允许用户更改幻灯片图像的显示路径。我已经找到了将所有图像文件名创建到一个字符串数组中所需的代码,但我不完全确定如何将整个数组传递回jQuery进行处理。我已经在使用Javaservlet作为代理来访问一些RSS提要,因此我决定使用“$.get()”方法发出一个带有标记参数的HTTP请求,以确定要执行的功能 长话短说,如何将字符串数组传递给HttpServletResponse变量,以便可以像jQuery中的字符串数组一样访问它?这是我目前使用的一些代码。。。注意:我对Java和JavaScript都是全新的,包括jQuery。我知道我的代码可能是草率和/或低效的将字符串数组从Javaservlet返回到jQuery,java,jquery,arrays,http,response,Java,Jquery,Arrays,Http,Response,我目前正在开发一个web应用程序,它使用Cycle插件for jQuery显示图像的幻灯片。为了便于使用,我将应用程序设置为可配置的,允许用户更改幻灯片图像的显示路径。我已经找到了将所有图像文件名创建到一个字符串数组中所需的代码,但我不完全确定如何将整个数组传递回jQuery进行处理。我已经在使用Javaservlet作为代理来访问一些RSS提要,因此我决定使用“$.get()”方法发出一个带有标记参数的HTTP请求,以确定要执行的功能 长话短说,如何将字符串数组传递给HttpServletRe
——这是JAVA SERVLET----
导入java.io.*;
导入javax.servlet.*;
导入javax.servlet.http.*;
导入java.net.URL;
导入javax.servlet.http.HttpServlet;
公共类BBSServlet扩展了HttpServlet{
私有void getSlidesList(最终HttpServletResponse响应)抛出ServletException、IOException{
试一试{
File slidesdir=新文件(AppConfiguration.getInstance().getSlidesDir());
if(slidesdir.isDirectory()){
字符串slidenames[]=slidesdir.list();
//这就是我想我能做的。。。
最终PrintWriter=response.getWriter();
对于(int i=0;i
我建议在Java中使用JSON解析器,例如将字符串数组转换为JSON。然后jQuery可以读取此内容并将其转换为javascript数组
---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
}