我想在我的项目中使用spring mvc 4.0.5包含dwr。项目中使用基于Java的配置。用于基于java的配置的 我在MVCConfiguration中使用以下几行代码。DWR Spring-MVC 4.0.5基于java的配置
@Bean
public DwrController dwrController(){
Map<String,String> configParam = new HashMap<String, String>();
configParam.put("activeReverseAjaxEnabled","true");
DwrController dwrController = new DwrController();
dwrController.setDebug(true);
dwrController.setConfigParams(configParam);
/*
AnnotationsConfigurator annotationsConfigurator = new AnnotationsConfigurator();
annotationsConfigurator.configure();
dwrController.setConfigurators(configurators);
*/
List<Configurator> configurators = new ArrayList<Configurator>();
configurators.add(annotationsConfigurator);
return dwrController;
}
@Bean
public BeanNameUrlHandlerMapping beanNameUrlHandlerMapping(){
BeanNameUrlHandlerMapping beanNameUrlHandlerMapping = new BeanNameUrlHandlerMapping();
return beanNameUrlHandlerMapping;
}
@Bean
public DwrHandlerMapping dwrHandlerMapping(){
Map<String,String> urlMap = new HashMap<String, String>();
urlMap.put("/dwr/**/*","dwrController");
DwrHandlerMapping dwrHandlerMapping = new DwrHandlerMapping();
dwrHandlerMapping.setAlwaysUseFullPath(true);
dwrHandlerMapping.setUrlMap(urlMap);
return dwrHandlerMapping;
}
WebApplicationInitializer扩展类我已经为dwr请求添加了映射。
ServletRegistration.Dynamic dispatcher = container.addServlet("dispatcher", new DispatcherServlet(dispatcherContext));
dispatcher.setLoadOnStartup(1);
dispatcher.addMapping("/dwr/*");
dispatcher.addMapping("/");
但是在部署时显示错误,指出“应该设置所需的配置器属性”。 你可以请建议如果配置需要任何修改也如何设置配置器。
改变dwrController()方法:
@Bean
@Autowired
public DwrController dwrController(BeanFactory beanFactory){
Map<String,String> configParam = new HashMap<String, String>();
configParam.put("activeReverseAjaxEnabled","true");
DwrController dwrController = new DwrController();
dwrController.setDebug(true);
dwrController.setConfigParams(configParam);
AnnotationsConfigurator annotationsConfigurator = new AnnotationsConfigurator();
SpringContainer springContainer = new SpringContainer();
springContainer.setBeanFactory(beanFactory);
annotationsConfigurator.configure(springContainer);
List<Configurator> configurators = new ArrayList<Configurator>();
configurators.add(annotationsConfigurator);
dwrController.setConfigurators(configurators);
return dwrController;
}
现在应用越来越被部署但/dwr/engine.js和其他请求是给错误The requested resource is not available
。
谢谢。
谢谢你的回复。 是的,我知道,我有同样的评论线。但是annotationsConfigurator.configure();需要一个容器对象,我不知道如何创建它。 –
好的让我试试 –
lance我可以使用DwrSpringServlet类,当我在我的项目中使用spring MVC,似乎它也需要配置器被配置 –