我正在開發一個JSP頁面,該頁面使用Java後端類中動態生成的大量JavaScript代碼。它是關於谷歌地圖和名爲MarkerClusterer的JS庫。從Java管理動態JavaScript的最佳實踐是什麼?
目前這個類正在通過處理Java中的Strings並將其直接打印到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() {"
...
從來沒有一種最好的方式去做某件事。只有最適合*你*的方式。 – Philipp