@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

	}