后端使用springboot,前端使用VUE. 前端接受后端数据代码如下:
var vm = new Vue({
el: '#app',
data: {
。。。
gender:[[${gender}]]; //gender为后端传过来的枚举类型数据,MALE-男,FEMAL-女
},
后端代码如下:
public ModelAndView getTesting(@RequestParam(value = "x1") Integer x1,
@RequestParam(value ="x2" ) Integer x2) throws Exception {
ModelAndView mav = new ModelAndView("/test/testing");
mav.addObject("x1", x1);
mav.addObject("x2",x2);
GenderEnum genderEnum=patientIDCardRepository.findPatientIDCardByCard_id(x2).get(0).getGender();
mav.addObject("gender",genderEnum);
return mav;
}
运行后vue提示“ReferenceError: "x" is not defined” 错误,处理办法:将枚举类型转换成数值,再传给前端,具体后端代码修改如下:
public ModelAndView getTesting(@RequestParam(value = "x1") Integer x1,
@RequestParam(value ="x2" ) Integer x2) throws Exception {
ModelAndView mav = new ModelAndView("/test/testing");
mav.addObject("x1", x1);
mav.addObject("x2",x2);
GenderEnum genderEnum=patientIDCardRepository.findPatientIDCardByCard_id(x2).get(0).getGender();
Integer tmp=0;
if (genderEnum==FEMALE) tmp=1;
mav.addObject("gender",tmp);
return mav;
}
运行通过。