uzyskanie elementu listy atrybutów modelu sprężynowego za pomocą indeksu z javascript
Przepraszam, jeśli zostało to zapytane gdzie indziej, ale rozejrzałem się dookoła, znalazłem kilka odpowiedzi, ale nie jest to kompletny przykład i wciąż mam wątpliwości co do tego.
Dodaję więc listę Autopopulating z mojego kontrolera Spring do mojego jsp i chciałbym dodać elementy na liście wewnątrz mojej funkcji javascript / jquery. Czy to możliwe?
Wypróbowałem poniższy kod, aby przetestować funkcjonalność, ale nie zadziałał (elementy listy w ogóle nie pojawiły się w wygenerowanym html). Więc nie jestem pewien, czy mam kłopoty ze składnią javascrit / spring / jsp lub jeśli nie jest to możliwe.
Oto kod:
Kod kontrolera:
@RequestMapping(value="/create_custobject.html",method = RequestMethod.GET)
public ModelAndView showCreateCustObjectPage() {
Map<String, Object> model = new HashMap<String, Object>();
CreateObjectForm form = new CreateObjectForm();
model.put("createObjectform", form);
return new ModelAndView("create_custobject", model) ;
}
Kod formularza:
public class CreateObjectForm {
private AutoPopulatingList<Criteria> ruleArray = new AutoPopulatingList<Criteria>(Criteria.class);
public AutoPopulatingList<Criteria> getRuleArray() {
return ruleArray;
}
public void setRuleArray(AutoPopulatingList<Criteria> ruleArray) {
this.ruleArray = ruleArray;
}
public CreateObjectForm() {}
}
Kod kryteriów:
public class Criteria{
String attribute;
String operator;
//... constructor + getters and setters
}
kod javascript / jquery (na tej samej stronie co jsp):
<script type="text/javascript">
$(document).ready(function(){
//startup functionality
var i = 0;
document.getElementById("addCriteria").onclick = function() {
$("#msgid").html("${ruleArray[i].attribute}");
${ruleArray[i].attribute} = $('#attributeValue').val();
${ruleArray[i].operator} = $('#operatorValue').val();
i++;
}
}