jQuery.load () + Spring MVC + Tiles - PullRequest
       7

jQuery.load () + Spring MVC + Tiles

0 голосов
/ 16 марта 2012

У меня самая простая конфигурация Tiles в моем веб-приложении Spring MVC:

<!-- Default Main Template -->
<definition name="mainTemplate" template="/WEB-INF/views/main.jsp">
    <put-attribute name="title" value="My title" type="string" />
    <put-attribute name="header" value="/WEB-INF/templates/header.jsp" />
    <put-attribute name="body" value="/WEB-INF/templates/blank.jsp" />
    <put-attribute name="footer" value="My footer" type="string" />
</definition>

<definition name="home" extends="mainTemplate">
    <put-attribute name="body" value="/WEB-INF/templates/home.jsp" />
</definition>

<definition name="scadenze" extends="mainTemplate">
    <put-attribute name="body" value="/WEB-INF/templates/scadenze.jsp" />
</definition>

Мой стандартный контроллер отображения "/ home" возвращает new ModelAndView("home");, и все идет хорошо.

Теперь я хочу поставить $("#header").load("/pathtoheadercontrollerurlmapping"); для перезагрузки одной части моей страницы в режиме ajax.

Что должен вернуть мой метод контроллера? Как я могу просто вернуть header.jsp и достичь своей цели?

1 Ответ

1 голос
/ 16 марта 2012

Один из способов, который я думаю, заключается в том, что вы не должны вносить весь jsp в этот вызов ajax, скорее вы должны принести строку json, с помощью которой вы можете создать html в части jquery. JSON будет иметь значения со стороны сервера (может быть из базы данных или файла или любого другого, который является динамическим). Получив ответ json, вы должны включить его в ответ jjery ajax, построить контекст html и вернуть его обратно в заголовок. Просто мысль.

...