现在做的一个项目是通过jsp提交表单的
统一的写法是request ,而不是通过@requestBody
@RequestMapping(value = "show.htm")
public String show(HttpServletRequest request){
String startTimeStr = StringUtil.stringNullHandle(request.getParameter("startTime"));
String endTimeStr = StringUtil.stringNullHandle(request.getParameter("endTime"));
String pageNumberStr = StringUtil.stringNullHandle(request.getParameter("pageNumber"));
Timestamp startTime = null;
Timestamp endTime = null;
if (StringUtil.isNotNull(startTimeStr)){
startTime = DateUtil.stringToTimestamp(startTimeStr);
}
if (StringUtil.isNotNull(endTimeStr)){
endTime = DateUtil.stringToTimestamp(endTimeStr);
}
int pageNumber = 0;
if (StringUtil.isNotNull(pageNumberStr)) {
pageNumber = Integer.parseInt(pageNumberStr);
}
int pageSize = 20;
//查找总数
int totalNumber = blockChainTransferMarketService.countBlockChainTransferMarketRate(startTime,endTime);
int totalPageNumber = (int) Math.ceil(totalNumber/1.0/pageSize); //总页码数
if(totalPageNumber <= 0){
totalPageNumber = 1;
}
if(pageNumber >= totalPageNumber){
pageNumber = totalPageNumber - 1;
}
//查找列表
List<BlockChainTransferMarketRateDO> realTimePriceList = null;
if (totalNumber > 0){
realTimePriceList= blockChainTransferMarketService.listBlockChainTransferMarketRate(startTime,endTime,pageNumber,pageSize);
}
request.setAttribute("realTimePriceList", realTimePriceList);
request.setAttribute("totalNumber", totalNumber);
request.setAttribute("pageNumber", pageNumber);
request.setAttribute("totalPageNumber", totalPageNumber);
request.setAttribute("startTime", startTime);
request.setAttribute("endTime", endTime);
//当前页面的权限标识
request.getSession().setAttribute("backer_rolePowerId", 151000);
return "page/back/realTimePrice";
}
这里介绍一下@RequestBody
注解用于将Controller的方法参数,根据HTTP Request Header的content-Type
的内容,通过适当的HttpMessageConverter转换为JAVA类。所以这里就要有一个javaBean。 来对应,这个很多时候表单提交有时候是没有的。
更多的时候出现在ajax异步的时候出现。 所以普通的表单提交还是尽量按照最原生的方式,
还有一点需要注意的是,get请求是不能用@requestBody