HttpServletRequest接收复杂的参数结构
localhost:80/user/name=John&age=25
String name = request.getParameter("name"); // 返回 "John"
String age = request.getParameter("age"); // 返回 "25"
tbBusiness.setBeginCreateTime(req.getParameter("params[beginCreateTime]"));
这样写的原因是在获取指定参数名值时,参数名包含了一些特殊字符或者结构。
在这个例子中,req.getParameter("params[beginCreateTime]")
获取了名为 "params[beginCreateTime]" 的参数值。这种写法可能是为了与前端的数据交互方式相对应。
在前端页面或者前端请求中,可能存在一个名为 "params" 的参数,它是一个集合或者一个对象,并包含了一个名为 "beginCreateTime" 的属性。为了获取这个特定属性的值,需要在参数名中使用方括号([])来指定属性名称。
params{
beginCreateTime:"2021-02-11 00:00:00",
endCreateTime:"2021-02-12 00:00:00"
}
在这种情况下,req.getParameter("params[beginCreateTime]")
的作用是获取 "params" 参数中的 "beginCreateTime" 属性的值并将其设置到 tbBusiness
对象的 beginCreateTime
属性中。
总而言之,这种写法是为了处理复杂的参数结构或者特殊字符的参数名,以便准确地获取和处理参数值。
@PreAuthorize("@ss.hasPermi('business:business:list')")
@GetMapping("/list")
public TableDataInfo list(TbBusiness tbBusiness,HttpServletRequest req){
if((!StringUtils.isEmpty(req.getParameter("params[beginCreateTime]")))&&(!StringUtils.isEmpty(req.getParameter("params[endCreateTime]")))) {
tbBusiness.setBeginCreateTime(req.getParameter("params[beginCreateTime]"));
tbBusiness.setEndCreateTime(req.getParameter("params[endCreateTime]"));
}
List<TbBusiness> list = tbBusinessService.selectTbBusinessList(tbBusiness);
return getDataTablePage(list);
}