如何在 Javascript 中访问模型属性
我想在Javascript中访问模型属性。我使用以下代码:
model.addAttribute("data", responseDTO);
我的 DTO 课程:
public class ResponseDTO {
private List<ObjectError> errors;
private Boolean actionPassed;
private String dataRequestName;
// and setter getter for all fields
}
我尝试使用以下命令访问 DTO:
var data = "${data}";
但它给了我一个响应DTO的字符串表示,即。我可以使用以下命令成功访问 DTO 内的字段:com.req.dto.ResponseDTO@115f4ea
var data = "${data.actionPassed}";
但这不适用于 DTO 中的属性,因为它是 的 。如何在Javascript中获取完整的对象?errors
List
ObjectError
responseDTO
谢谢!
编辑:
最初我正在使用jquery.post
$.post('ajax/test.html', function(data) {
// Here I was able to retrieve every attribute even list of ObjectError.
});
现在我想删除Ajax并希望将其转换为非ajax方法(由于一些不可避免的原因)。因此,我正在执行一个普通的表单提交,并希望再次加载相同的表单,并尝试在Javascript中加载模型属性,以便我可以保持其余代码不变。
我想知道它是否可以在Javascript中实现,因为它可以使用Jquery post来实现?data
编辑 2 :
我试过了(谢谢你@Grant的建议)
JSONObject jsonObject =JSONObject.fromObject(responseDTO);
String jsonString = jsonObject.toString();
model.addAttribute("data",jsonString);
和Javascript
var data = eval('('+ ${dataJson} +')'); // Getting error on this line
alert(data.actionPassed);
但是收到错误并且没有警报显示
错误: