【发布时间】:2013-09-25 12:01:23
【问题描述】:
我正在用 JSP 开发一个网页,它使用大量来自 Java 后端类的动态生成的 JavaScript 代码。它是关于谷歌地图和一个名为 MarkerClusterer 的 JS 库。
目前这个类是通过在 Java 中处理 String 并将其直接打印到 JSP 页面来生成 JavaScript 代码,但是在 Java String 中编写 JS 并对其进行维护变得有点复杂。
JavaScript 一直需要大量修改,因为这个类被用于不同的项目。理想情况下,我想以一种可以用作库的方式打包它,而不需要进一步修改,所以这就是问题,最好的方法是什么?
这是部分代码:
public class JavascriptGenerator {
public String gerarPorRegiao(String contextPath, List<Endereco> lista, boolean infoWindowEnabled) {
String saida = "";
saida += "<script type=\"text/javascript\" src=\"http://maps.google.com/maps/api/js?sensor=false\"></script>"
+ "<script type=\"text/javascript\" src=\""
+ contextPath
+ "/js/markerclusterer.js\"></script>"
+ "<script type=\"text/javascript\">"
+ "var map;";
for(Estado e: Estado.values()) {
saida += "var mc" + e.toString() + ";";
}
saida += "var selecionado;"
+ "var center = new google.maps.LatLng(-11.0, -51.9);"
+ "var geocoder = new google.maps.Geocoder();"
+ "var infowindow = new google.maps.InfoWindow();"
+ "var markerContent = new Array();"
+ "function geocoderInit() {"
...
【问题讨论】:
-
从来没有一种最好的方式来做某事。只有最适合您的方式。
标签: java javascript jsp markerclusterer