如何在支柱 2 中返回 JSON 数组
How to return JSON array in Struts 2
这是我的支柱动作
@Action("/trylogin")
@ParentPackage("json-default")
@Result(type = "json", params = { "includeProperties", "msg, productsList" })
public class Login extends ActionSupport {
private static final long serialVersionUID = 1L;
private String utilisateur;
private String motdepasse;
private String msg;
private ArrayList<Article> productsList = new ArrayList<Article>();
@Autowired
private Dao dao;
public String execute() {
if (dao.validCredentials(utilisateur, motdepasse)) {
System.out.println("USER FOUND");
productsList = dao.fetchProducts();
msg = "success";
} else {
System.out.println("ERREUR");
msg = "error";
}
return ActionSupport.SUCCESS;
}
public ArrayList<Article> getProductsList() {
return productsList;
}
public String getMsg() {
return msg;
}
这是我的 ajax 帖子:
$.post({
url: "trylogin",
data: {
utilisateur: name,
motdepasse: password
}
}).done(function(data) {
console.log(data.productsList.length);
}).fail(function( jqXHR, textStatus ) {
console.log("Fail");
})
我想获取我的产品列表。在我的操作中,列表已正确加载。但是一旦我console.log(data.productsList)
它就是空的。
我应该怎么做才能将产品列表从我的支柱操作获取到我的 JavaScript ?
我的产品列表是一个对象列表,具有各种属性,如名称/ID/颜色...
参数includeProperties
是正则表达式的列表。当您使用参数productsList
时,json 序列化程序只会找到此属性,但是当进一步解析它的元素时,不包含任何元素。如果将此参数与结果一起使用,则 json 输出中仅包含与表达式匹配的属性。
您需要在 json 结果中配置includeProperties
。例如
@Result(type="json", params = {"includeProperties", "msg,
productsList''[''d+'']''.id,productsList''[''d+'']''.name,productsList''[''d+'']''.color"})
请注意,特殊字符是双重转义的。
您需要
在允许的属性的白名单中列出Article
的每个属性。
假设文章具有 id
、 name
和 color
属性,配置将为:
@Result(type = "json", params = { "includeProperties",
"msg,
productsList''[''d+'']''.id,
productsList''[''d+'']''.name,
productsList''[''d+'']''.color"})
这就是为什么我更喜欢使用 root
对象而不是 includeProperties
,即使在您的情况下,您需要找到一种处理msg
的方法(这可能是基于列表结果的客户端组合,不过)。
相关文章:
- Jquery:对返回JSON数据的php脚本的Ajax调用
- 返回JSON中的下标
- jQuery Map 从多个源返回 JSON 对象
- 如何在 Node.js 中返回 JSON 后停止代码流
- AngularJS:表单提交没有返回JSON中的值
- 使用ajax发送数据,返回json
- 从我的解析函数返回json
- 如何从脚本页面返回json数据
- 有些人有任何关于如何使用Modified Java Script Value处理返回Json(url)的示例
- 如何在html页面中从ajax返回json数据
- Ajax调用在本地返回json,但在服务器上运行时返回xml
- ajax调用返回JSON ParseError即使认为JSON看起来是正确的
- 调用.ajax方法得到未定义的json结果,返回json格式列表<字符串>
- 如何通过C#返回JSON并用JavaScript进行解析
- 使用 AJAX 返回 json 数组
- 从 AJAX 命令返回 JSON 格式的响应
- 如何通过node中的请求返回JSON.js(从javascript)
- Node.js API 在终端中返回 JSON,但不在浏览器中返回 JSON
- 如何在支柱 2 中返回 JSON 数组
- Rhino:从 Java 中返回 JSON