@DateTimeFormat(pattern = "yyyy-MM-dd") //入参



@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") //出参
@RequestBody
// 可以将前台传入的json格式数据自动映射成对象,当如果属性的首字母大写,则会出现不能映射的情况,如:
private String ICCID;
// 会出现映射失败的情况解决办法:
  1. 属性推荐使用小写开头,符合java的开发规范;
  2. 实在要使用大写,可以@jsonProperty("ICCID")解决,如:
@JsonProperty("ICCID")
private String ICCID;

// 实体类大小写

@JsonProperty("ID")
 private String ID;

    @JsonIgnore
    public String getID() {
         return ID;
    }

    @JsonIgnore
    public void setID(String iD) {
         ID = iD;
    }

语法:@RequestParam(value=”参数名”,required=”true/false”,defaultValue=””)

  • value:参数名

  • required:是否包含该参数,默认为true,表示该请求路径中必须包含该参数,如果不包含就报错。

  • defaultValue:默认参数值,如果设置了该值,required=true将失效,自动为false,如果没有传该参数,就使用默认值

spring中接收form表单

第1种方法:表单提交,以字段数组接收; 第2种方法:表单提交,以BeanListModel接收; 第3种方法:将Json对象序列化成Json字符串提交,以List接收; 第4种方法:将表单对象序列化成Json字符串提交,以List接收; 第4种方法其实是第3种方法的升级,就是将表单转成Json对象,再转成Json字符串提交;

  • 导出 通过表单的方式
    • 将对象数组进行字符串格式化,后台通过JSONUtils 解析数组
function exportDoc() {

  const obj =  {
   "id": "123",
   "name": "xmxm"
  }
  const vals = proData.map(e => {
   return JSON.stringify(e);
  })
  let rbac = JSON.stringify(obj);

  const prefixUrl = 'http://127.0.0.1:8080';
  var url = prefixUrl + '/exportOsvuDoc';
  var form = $("<form></form>").attr("action", url).attr("method", "post");
  form.append($("<input></input>").attr("type", "hidden").attr("name", "rbac").attr("value", rbac));
  form.append($("<input></input>").attr("type", "hidden").attr("name", "total").attr("value", proData.length));
  form.append($("<input></input>").attr("type", "hidden").attr("name", "splt").attr("value", '12,1,'));


  vals.forEach(e => {
   form.append($("<input></input>").attr("type", "hidden").attr("name", "rows").attr("value", (e)));
  })

  form.appendTo('body').submit().remove();

 }
  • 后台接口
@RequestMapping("/exportOsvuDoc")
 @ResponseBody
 public void exportWord(HttpServletResponse response, HttpServletRequest request,
   @RequestParam(value = "rbac") String val, @RequestParam(value = "splt") String splt,
   @RequestParam(value = "rows") List<String> rows, @RequestParam(value = "total") Integer total)
   throws Exception {

  Map<String, Object> data = new HashMap<String, Object>();

  List<Problem> baseVo = new ArrayList<>();

  OsaTable bean = GsonUtil.strToJavaBean(val, OsaTable.class);
  for (String str : rows) {
   baseVo.add(GsonUtil.strToJavaBean(str, Problem.class));
  }
///校验

   
  data.put("pvc", pvc);
  data.put("showLimit", result);
  
  System.out.println(data);

  String fileName = "abcd.docx";
  exportDocToClient(response, fileName, "fin.html", data);
  // 将xml模板转换为后缀为doc文件,本质仍是属于xml

 }