我正在制作一个包含查询的更新页面。当我执行它时,发生以下错误。
2013. 12. 16 오후 9:51:47 org.apache.catalina.core.StandardWrapperValve invoke
: Servlet.service() for servlet ebsm-pot-servlet threw exception
org.codehaus.jackson.map.JsonMappingException: Conflicting getter definitions for property "dateRange": groove.spring.data.domain.Condition#isDateRange(0 params) vs groove.spring.data.domain.Condition#getDateRange(0 params)
at org.codehaus.jackson.map.ser.StdSerializerProvider._createAndCacheUntypedSerializer(StdSerializerProvider.java:740)
at org.codehaus.jackson.map.ser.StdSerializerProvider.findValueSerializer(StdSerializerProvider.java:344)
at org.codehaus.jackson.map.ser.impl.PropertySerializerMap.findAndAddSerializer(PropertySerializerMap.java:39)
at org.codehaus.jackson.map.ser.std.MapSerializer._findAndAddDynamic(MapSerializer.java:403)
at org.codehaus.jackson.map.ser.std.MapSerializer.serializeFields(MapSerializer.java:257)
at org.codehaus.jackson.map.ser.std.MapSerializer.serialize(MapSerializer.java:186)
at org.codehaus.jackson.map.ser.std.MapSerializer.serialize(MapSerializer.java:23)
at org.codehaus.jackson.map.ser.StdSerializerProvider._serializeValue(StdSerializerProvider.java:610)
at org.codehaus.jackson.map.ser.StdSerializerProvider.serializeValue(StdSerializerProvider.java:256)
at org.codehaus.jackson.map.ObjectMapper.writeValue(ObjectMapper.java:1606)
at org.springframework.web.servlet.view.json.MappingJacksonJsonView.renderMergedOutputModel(MappingJacksonJsonView.java:199)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
这是我的控制器
@RequestMapping(value="/encodeRegModDo")
public String encodeRegModDo(HttpServletResponse response,
HttpServletRequest request,
ModelMap model,
Condition condition,
@RequestParam Map<String, Object> maps,
@ModelAttribute Encode encode) throws Exception {
if(!PotSessionUtils.isAdminLogin()) {
PotSessionUtils.goAdminMainPage(response);
} else {
EncodeRepository.updateReg(encode);
model.addAttribute("condition", condition);
}
return "redirect:/innovativepot/encodeMng/encodeRegList";
}
存储库
@Statement(id="Encode.updateReg")
public void updateReg(Encode encode);
任何人都可以帮我解决错误吗?如果需要更多信息,请告诉我。
条件
private String prcsSno;
public String getPrcsSno() {
return prcsSno;
}
public void setPrcsSno(String prcsSno){ this.prcsSno = prcsSno;
答案 0 :(得分:2)
错误消息告诉您需要知道的一切。 groove.spring.data.domain.Condition
类为属性dateRange
提供了两个getter:
isDateRange()
getDateRange()
杰克逊不知道使用哪一个来序列化对象。因此要么删除或重命名,要么告诉杰克逊使用/忽略哪一个。如果班级是你的,那么我更喜欢第一个解决方案。有些东西不能 一个日期范围, 一个日期范围。