Je développe une page Web dans JSP qui utilise une grande quantité de code JavaScript généré dynamiquement à partir d'une classe backend Java. Il s'agit de Google Maps et d'une bibliothèque JS appelée MarkerClusterer.Quelle est la meilleure pratique pour gérer le JavaScript dynamique à partir de Java?
Actuellement, cette classe génère le code JavaScript en manipulant Strings en Java et en l'imprimant directement dans la page JSP, mais cela devient un peu compliqué d'écrire JS dans Java String et de le maintenir.
Le JavaScript nécessite de nombreuses modifications, car cette classe est utilisée dans différents projets. Idéalement, je voudrais emballer cela de manière à ce qu'il puisse être utilisé comme une bibliothèque, sans nécessiter de modifications supplémentaires, alors c'est la question, quelle est la meilleure façon de le faire?
est ici une partie du code:
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() {"
...
Il n'y a jamais de meilleure façon de faire quelque chose. Seul le chemin qui fonctionne le mieux pour * vous *. – Philipp