Может кто-нибудь psuedo решение моей проблемы, или просто провести обсуждение, чтобы помочь мне найти решение? Я всегда обнаруживал, что использование JSP для заполнения HTML - очень неловкое решение для создания страниц, и если вы хотите конвертировать в AJAX, почти всегда возникает необходимость переписать весь «компонент» или что-либо еще, что вы отображаете. Мне нужен просмотрщик историй, и я бы хотел, чтобы фактическая работа по заполнению просмотрщика историй была написана в javascript с одной точкой входа, чтобы я мог либо вводить информацию при загрузке страницы, либо обновлять ее, используя ajax или используйте автономный компонент на другой странице, если хотите.
SERVER:
Сервер может настраивать виды новых историй, доступных на странице, и контроллер отправляет обратно модель, заполненную историями, для отображения:
@RequestMapping(value="/news/{category}")
public String news(@PathVariable("category") String category, Model m) {
m.addAttribute("featuredStory", newsService.getFeaturedStoryForCategory(category));
m.addAttribute("otherRelatedStories", newsService.getStoriesByCategory(category, 3/*num of stories*/));
return newsService.getViewNameForCategory(category);
}
ВИД:
<div>
<h1>Story Title Would Go Here</h1>
<div>maybe some text description here</div>
<img src="my image source would go here"/>
</div>
так что это моя основная настройка, но теперь мне нужно собрать информацию из модели моих серверов в компоненты, которые выглядят примерно так, у меня было несколько разных мыслей, но я не могу придать им импульс, Одним из примеров является то, что я думаю о странице в, я мог бы иметь что-то вроде этого:
<javascript>
var populateFeaturedStoryWithJson( json ) {
...
$(#featuredStoryId).insert(json.getStoryTitle);
...
}
</javascript>
но кто будет отвечать за этот звонок? Как я могу получить JSON из модели сервера? Я не хочу связываться с использованием ajax-запросов, я просто хотел бы иметь возможность получать контент из разных источников, так что единственный код, который изменяется, это код выборки контента истории, а не отображения контента в моем компоненте
Я знаю, что этот вопрос немного широк, но я думаю, что он действительно окупится, если я смогу избежать общего решения чего-то вроде:
<h1>${featureStory.title}</h1>
Поскольку я всегда считал, что это самая неловкая и не объектно-ориентированная часть способа работы Spring-MVC
edit: я открыт для других идей, кроме простого javascript, но я действительно хочу компонент представления, который может получать данные из разных мест, где буквально единственное, что меняется, - это код, который берет данные из этого источника и преобразует его в модель данных представлений