Я занимался программированием с использованием весны mvc, и я решил сделать пример относительно согласования контента.Содержание Переговоры при просмотре различных форматов вывода
Я начал с URI «/ продукты»:
- Когда я прошу /products.json это возвращает меня JSON, которые, я рад
- Когда я прошу /products.xml это возвращает правильный xml, снова я доволен тем, что
- Когда я запрашиваю представление html (/ products), на данный момент я показываю только простую таблицу html для продуктов, но что, если я хочу включить дополнительный динамический контент для html-страницы, такой как облако тегов или похожие продукты (вещи, не связанные с продуктами)?
Ниже приведен мой код для метода контроллера.
@RequestMapping(method = RequestMethod.GET)
public ModelAndView getAllProducts(){
ModelAndView result = new ModelAndView("index");
GenericListElementWrapper<Product> products = new GenericListElementWrapper<Product>();
products.setList(productDao.getAll());
ModelMap modelMap = new ModelMap();
modelMap.addAttribute("products",products);
result.addAllObjects(modelMap);
return result;
}
То, что я хотел бы достичь заключается в следующем:
- способ иметь держать мой единственный метод контроллера, но вид HTML будет иметь дополнительный контент
идеи, которые я был:
Возможно использование сервлет-фильтров для обогащения мод elAndView только для текста/html mimetype? Но тогда вы делаете это для всех html-запросов, которые могут быть нежелательными?
В настоящее время я объясняю себя, чувствуя, что хочу, чтобы клиенту было полностью отображено html-представление. Возможно, я неправильно рассматриваю эту проблему, и я должен думать о том, как получить дополнительный контент после загрузки страницы через javascript?
Так можно ли достичь моего предполагаемого решения? Другая часть заключается в том, действительно ли мое предполагаемое решение действительно желательно на практике: P