2012-03-16 6 views
0

У меня есть самый простой конфигурации плитки в моем веб-приложение Spring MVC:jQuery.load() + 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.

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

ответ

1

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

+0

Это звучит наиболее разумно, у вас должны быть соответствующие заголовки, чтобы поддерживать ajax перед фактом. – Quaternion

Смежные вопросы