我在向Struts 2动作类发送数组参数时遇到问题.我正在使用struts 2.1.8.1.
这是一些示例代码:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是通过jquery ajax方法发送数组时:
$.ajax({
type: 'POST',
url: 'Myaction.action',
data: {
types: ["this", "is", "a", "test"]
}
});
Run Code Online (Sandbox Code Playgroud)
导致异常发生:
ognl.ParseException: Encountered " "]" "] "" at line 1, column 7.
如何使用jQuery将数组发送到我的Struts2动作类?我需要包含拦截器的某些内容吗?或者jQuery中有一个选项可以删除它吗?
我也遇到了jQuery UI Sortable控件的这个问题,但是我用正则表达式解决了这个问题,删除了"[]"字符.我想避免这种情况,因为这个解决方案困扰着我.我想我可以自己构建字符串,而不是使用对象表示法,但除非你能说服我,否则我想使用对象表示法.