【问题标题】:jQuery.load() + Spring MVC + TilesjQuery.load() + Spring MVC + Tiles
【发布时间】:2012-03-17 03:53:28
【问题描述】:

我的 Spring MVC Web 应用程序中有最简单的 Tiles 配置:

<!-- 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 并实现我的目标?

【问题讨论】:

    标签: jquery spring-mvc tiles


    【解决方案1】:

    我在想的一种方法是,您不应该将整个 jsp 带入该 ajax 调用,而应该带上一个 json 字符串,您可以使用该字符串在 jquery 部分中构建 html。 json 将具有来自服务器端的值(可能来自数据库或文件或任何动态的)。获得 json 响应后,您应该在 jquery ajax 响应中对其进行 mainpulate 并构建 html 上下文并将其设置回标头中。只是一个想法。

    【讨论】:

    • 这听起来最明智,您应该在事前准备好适当的标头以支持 ajax。
    猜你喜欢
    • 2015-02-19
    • 2016-05-27
    • 1970-01-01
    • 2012-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多