Ich habe ein Problem, Array-Parameter an eine Struts 2-Action-Klasse zu senden. Ich bin mit Struts 2.1.8.1.
Hier ist ein Beispielcode:
public class MyAction extends ActionSupport {
private String[] types;
public String execute() {
return SUCCESS;
}
public String[] getTypes() {
return types;
}
public void setTypes(String[] types) {
this.types = types;
}
}
Das Problem tritt auf, wenn ein Array über die Jquery-Ajax-Methode gesendet wird:
$.ajax({
type: 'POST',
url: 'Myaction.action',
data: {
types: ["this", "is", "a", "test"]
}
});
löst eine Ausnahme aus:
ognl.ParseException: Encountered " "]" "] "" at line 1, column 7.
Wie kann ich jQuery verwenden, um das Array an meine Struts2-Aktionsklasse zu senden? Gibt es etwas im Sinne eines Abfangjägers, den ich einschließen muss? Oder gibt es eine Option in jQuery, um dies zu entfernen?
Ich stieß auch auf dieses Problem mit dem jQuery UI Sortable-Steuerelement, aber ich löste, dass mit einer Regex, um die "[]" Zeichen zu entfernen. Das würde ich gerne vermeiden, denn diese Lösung stört mich. Ich nehme an, ich könnte nur die Zeichenfolge selbst zu bauen, anstatt mit der Objektnotation, aber es sei denn, Sie können mich überzeugen, anders, ich möchte die Objektnotation stattdessen verwenden.