您的位置:首页技术文章
文章详情页

javascript - form表单提交,后台实体类接收转义问题

浏览:25日期:2023-10-28 15:54:59

问题描述

问题:前台表单用ajax提交,data为validateForm.serializeArray(),后台用实体类接收参数,&符号被转义为&但是从request中直接取值是没问题的,请问如何解决实体类接收到的参数的转义问题。

代码如下:

前台代码:var formData = validateForm.serializeArray();$.ajax({ type: ’POST’, cache: false, url: basepath + '/newProjectAdjustment/saveProjectAdjustmentInfo.do', data: formData, dataType: 'json', async:false, success: function (result) {if (result.success) { saveFlag = true;} else { parent.$.messager.alert('提示', result.msg != '操作成功' ? result.msg : projMessage.get('C008'), 'info');} }, error: function (result) {parent.$.messager.alert('提示', projMessage.get('C008'), 'info'); }});return saveFlag;

后端代码:@RequestMapping(value = 'saveProjectAdjustmentInfo.do', method = RequestMethod.POST)@ResponseBodypublic AjaxJson saveProjectAdjustmentInfo(HttpServletRequest request, ProjectAdjustmentDTO projectAdjustmentInfo) throws InvocationTargetException, IllegalAccessException { Map params = FormFormatterUtil.formatFrom2Map(request); AjaxJson result = new AjaxJson(); return result;}Debug:这是实体类中接收的参数:

javascript - form表单提交,后台实体类接收转义问题

这是request种接收的参数:

javascript - form表单提交,后台实体类接收转义问题

问题解答

回答1:

在实体参数前面加@RequestBody试试

回答2:

在实体类的set方法中使用StringEscapeUtils.unescapeHtml4()就能反转义。

标签: JavaScript