你知道为什么我会收到这个错误吗?
SEVERE: Servlet.service() for servlet [enemr] in context with path [/enemr] threw exception [Request processing failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.github.dandelion.datatables.core.ajax.DatatablesCriterias]: No default constructor found; nested exception is java.lang.NoSuchMethodException: com.github.dandelion.datatables.core.ajax.DatatablesCriterias.<init>()] with root cause
java.lang.NoSuchMethodException: com.github.dandelion.datatables.core.ajax.DatatablesCriterias.<init>()我从这里换了我的控制器
@RequestMapping(value = "/results", method = RequestMethod.GET)
public @ResponseBody DatatablesResponse<Results> findAllForDataTables(HttpServletRequest request) {
DatatablesCriterias dataTableCriterias = DatatablesCriterias.getFromRequest(request);
DataSet<Results> results = this.resultsServiceimpl.findResultsWithDatatablesCriterias(dataTableCriterias);
return DatatablesResponse.build(results, dataTableCriterias);
}要这样做:
@RequestMapping(value = "/results", method = RequestMethod.GET)
public @ResponseBody
DatatablesResponse<Results> findAllForDataTables(@DatatablesParams DatatablesCriterias criterias) {
DataSet<Results> results = this.resultsServiceimpl.findResultsWithDatatablesCriterias(criterias);
return DatatablesResponse.build(results, criterias);
}突然停止工作
任何帮助我都会非常感谢。
我使用的是Spring3.2和dandelion datatables 1.1.0
发布于 2016-05-01 15:44:24
当您将控制器更改为使用DatatablesParams注释时,您需要启用一个解析器,它将实例化DatatablesCriterias对象。由于Spring3.2正在使用中,因此需要启用DatatablesCriteriasMethodArgumentResolver:
通过xml:
<!-- Add support for @DatatablesParams annotations in controller's methods -->
<mvc:annotation-driven>
<mvc:argument-resolvers>
<bean class="com.github.dandelion.datatables.extras.spring3.ajax.DatatablesCriteriasMethodArgumentResolver" />
</mvc:argument-resolvers>
</mvc:annotation-driven>或java config:
@Configuration
@EnableWebMvc
public class MyWebConfig extends WebMvcConfigurerAdapter {
@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
argumentResolvers.add(new DatatablesCriteriasMethodArgumentResolver());
}
}https://stackoverflow.com/questions/32904072
复制相似问题