Когда я пытаюсь переопределить метод BroadleafCategoryController
handleRequest
, у меня все работает нормально.Но когда я пытаюсь вызвать тот же метод, как показано ниже, с параметром Device, чтобы идентифицировать пользовательское устройство
В моем классе Java CategoryController.java
@Controller("blCategoryController")
public class CategoryController extends BroadleafCategoryController {
private static final Logger logger = LoggerFactory.getLogger(CategoryController.class);
@RequestMapping("/")
public ModelAndView handleRequest(Device currentDevice, HttpServletRequest request, HttpServletResponse response) throws Exception {
return super.handleRequest(request, response);
}
}
тогда, когда оно входит внутрь суперМетод (handleRequest) я получаю значение объекта категории как NULL.
Category category = (Category) request.getAttribute(CategoryHandlerMapping.CURRENT_CATEGORY_ATTRIBUTE_NAME);
The above value should have been set through CategoryHandlerMapping
public class CategoryHandlerMapping extends BLCAbstractHandlerMapping {
public static final String CURRENT_CATEGORY_ATTRIBUTE_NAME = "category";
protected String defaultTemplateName = "catalog/category";
private String controllerName = "blCategoryController";
@Override
protected Object getHandlerInternal(HttpServletRequest request) throws Exception {
Category category = null;
if (allowCategoryResolutionUsingIdParam()) {
category = findCategoryUsingIdParam(request);
}
if (category == null) {
category = findCategoryUsingUrl(request);
}
if (category != null) {
request.setAttribute(CURRENT_CATEGORY_ATTRIBUTE_NAME, category);
return controllerName;
}
return null;
}
CategoryHandlerMapping
(предоставленный Broadleaf Commerce) был настроен внутри класса с аннотацией @Configuration
, и объект создан внутриметод с аннотацией @Bean
.
@Bean
public HandlerMapping categoryHandlerMapping() {
CategoryHandlerMapping mapping = new CategoryHandlerMapping();
mapping.setOrder(5);
return mapping;
}
Примечание: - Все настройки, относящиеся к устройству (Spring-Mobile), в порядке. Пожалуйста, дайте мне знать, если мне не хватает какой-либо конфигурации xml, например applicationContext.xml?Заранее спасибо !!!