Java バックエンド クラスから動的に生成された大量の JavaScript コードを使用する JSP で Web ページを開発しています。Google マップと MarkerClusterer という JS ライブラリについてです。
現在、このクラスは Java で文字列を処理して JSP ページに直接出力することで JavaScript コードを生成していますが、Java 文字列内に 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() {"
...