Problème : le formulaire frontal est soumis avec ajax, les données sont validateForm.serializeArray() et le back-end utilise des classes d'entités pour recevoir les paramètres. Le symbole & est échappé sous la forme &, mais ce n'est pas un problème de l'obtenir directement. la valeur de la requête. Comment résoudre le problème de réception de la classe d'entité ?
Le code est le suivant :
前台代码:
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)
@ResponseBody
public AjaxJson saveProjectAdjustmentInfo(HttpServletRequest request, ProjectAdjustmentDTO projectAdjustmentInfo) throws InvocationTargetException, IllegalAccessException {
Map params = FormFormatterUtil.formatFrom2Map(request);
AjaxJson result = new AjaxJson();
return result;
}
Debug:
这是实体类中接收的参数:
这是request种接收的参数:
Essayez d'ajouter @RequestBody devant les paramètres de l'entité
Utilisez StringEscapeUtils.unescapeHtml4() dans la méthode set de la classe d'entité pour inverser l'échappement.