以下是我的控制器代码:
@RequestMapping(value = "/productProgramsDataTable", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public ResponseEntity<List<ProductsDataTableItemDto>> getInitiaorTasks(String productStatusType, String productStatusForEachProduct) {
final long l1 = System.currentTimeMillis();
ResponseEntity<List<ProductsDataTableItemDto>> retDetail = null;
List<ProductsDataTableItemDto> ppdList = null;
List<String> statusVar = null;
try {
ppdList = programPlannerListService.productPrograms();
statusVar.add(productStatusType);
statusVar.add(productStatusForEachProduct);
} catch (final Exception e) {
e.printStackTrace();
}
retDetail = new ResponseEntity<>(ppdList,HttpStatus.OK);
return retDetail;
}
与 retDetail 一起,我想返回 productStatusType 和 productStatusForEachProduct
如何将这些值返回给jQuery?
答案 0 :(得分:2)
在您的Controller中,您可以将从JSP / JS访问的数据添加到Model model
model.addAttribute("productStatusForEachProduct", productStatusForEachProduct);
model.addAttribute("productStatusType", productStatusType);
model.addAttribute("retDetail", ppdList);
然后,在你的JSP中
<script>
var productStatusForEachProduct = "${productStatusForEachProduct}";
var productStatusType = "${productStatusType}";
var retDetail= "${retDetail}";
</script>
答案 1 :(得分:0)
尝试创建一个包含所有返回对象的bean,并为每个对象设置一个getter和setter,这样在方法中你可以设置所有这些对象,并在需要时随时获取它们。类似的东西
public class Container{
ResponseEntity<List<ProductsDataTableItemDto>> retDetail;
String productStatusType;
String productStatusForEachProduct;
// Getters and setters
}
这样你就可以:
Container result = new Container();
result.setRetDetail(retDetail);
result.setProductStatusType(productStatusType);
result.setProductStatusForEachProduct(productStatusForEachProduct);
return result;
然后将返回类型更改为Container。
另一种可能性是在Container类中放置一个包含三个字段的构造函数,并使用它来创建结果。