首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过AJAX在Spring MVC中渲染平铺视图?

问如何通过AJAX在Spring MVC中渲染平铺视图?
EN

Stack Overflow用户
提问于 2012-08-30 20:48:52
回答 1查看 7K关注 0票数 4

我正在使用Spring3MVC构建一个web应用程序,它有一个通用的布局和一个经常更改/刷新的"content“div。内容标记在自己的tile中,我希望能够通过AJAX刷新该Tile,而无需刷新整个页面。我知道如何从客户端激发AJAX请求并在控制器中处理它。我主要对Spring的配置(视图、视图解析器等)感到困惑。有谁有一个例子吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-31 15:50:17

基本上,您可以创建一个仅包含所需内容的tiles视图,而不包含周围的HTML框架,并在处理ajax请求的控制器中呈现此视图/tiles。

假设您有一个页面foo.jsp。调用http://example.com/myapp/foo时,应呈现以foo.jsp作为主体内容的整个html页面。在调用http://example.com/myapp/ajax/foo时,应该只发送foo.jsp而不发送整个HTML框架,这样客户端就可以通过ajax加载并替换页面中的一部分。

您最终将得到两个视图定义,一个在整个页面中嵌入foo.jsp,另一个仅包含foo.jsp本身。app-layout.jsp将包含具有"body“属性的整个HTML框架。

代码语言:javascript
复制
<definition name="foo" template="/WEB-INF/layouts/app-layout.jspx">
    <put-attribute name="body">
        <definition template="/WEB-INF/views/foo.jsp">
            <put-attribute name="message" value="hello"/>
        </definition>
    </put-attribute>
</definition>

<definition name="ajax.foo" template="/WEB-INF/views/foo.jsp">
    <put-attribute name="message" value="hello"/>
</definition>

处理URL的控制器将返回视图"ajax.foo",处理URL /foo的控制器将返回视图"foo“。

代码语言:javascript
复制
@Controller
@RequestMapping("/ajax")
public void class AjaxController {
   @RequestMapping("/foo")
   public String foo() {
       return "ajax.foo";
   }
}

@Controller
@RequestMapping("/")
public void class AppController {
   @RequestMapping("/foo")
   public String foo() {
       return "foo";
   }
}
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12197230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档