[英]creating array in javascript from array object pass in by request.setAttribute in servlet
我正在尝试创建一个动态照相馆,该照相馆从mySQL中检索照片的位置。 将位置存储到名为“ private String location;
”的照片对象中private String location;
'将有一个ArrayList容纳所有不同的照片。 之后,servlet将转发到一个jsp页面
request.setAttribute("list", list);
request.getRequestDispatcher("car.jsp").forward(request, response);
我有一个用于图库的Java脚本,其中包含[[path_to_image“,” optional_link“,” optional_linktarget“,“ optional_textdescription”]的数组。
imagearray: [
["path_to_image", "optional_link", "optional_linktarget", "optional_textdescription"],
["a.jpg", "www.a.com", "", ""]
],
我想从servlet传入的列表中的对象中检索位置,并将其转换为imagearray以使我的照相馆正常工作。
我对javascript很陌生,我一直在寻找类似的示例或教程,但找不到任何相关的示例或教程。 请帮帮我,非常感谢您的宝贵时间。
我从您的问题中得到的是照片是一个类的对象,而位置是该类的成员变量。
request.setAttribute("list", list); request.getRequestDispatcher("car.jsp").forward(request, response);
此list
是photo
对象或location
成员变量的数组列表。
另外,您正在Java中设置属性,并且希望该列表由javascript保存。 那么在这种情况下,您可以检查JSON以保存您的java对象并将其转换为javascript对象。
您将获得类似于{imagearray:[{"path_to_image":"path_to_image","optional_link":"optional_link","optional_linktarget":"optional_linktarget","optional_textdescription"}]}
JSON字符串
您可以按照以下顺序轻松地完成操作:
现在,让我们继续执行该列表。
您应该有一个类型为getPhotoList()
的方法,该方法返回List<Photo>
。 我想您的Photo
类具有要导出到JavaScript的字段。 最后,您将初始化List<Photo> photos
。
当然,您可以自己执行此操作,但是更好的主意是采用专门的库将Java对象转换为JSON对象。 例如,您可以使用Gson库,该库是该类型转换的已知库。 最后,将通过调用String photosJSON = new Gson().toJson(photos);
获得一个JSON对象String photosJSON = new Gson().toJson(photos);
。
这里的标准操作。
request.setAttribute("photos", photosJSON);
request.getRequestDispatcher("car.jsp").forward(request, response);
在您的JSP代码的<script>
块中,包含以下行:
var photosJS = JSON.parse(${photos});
最后,您将拥有一个JS变量photosJS
以及从数据库中photosJS
的列表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.