【问题标题】:How to use sitemesh effectively in webapplication如何在 Web 应用程序中有效地使用 sitemesh
【发布时间】:2012-02-23 23:29:18
【问题描述】:

我在我的 java web 应用程序中实现了 sitemesh,但是当我单击下一页链接时,页眉和页脚再次呈现到正文。

有没有办法只改变页面的正文部分?

像 ajax 一样改变站点网格中的男孩内容以及如何实现页眉和页脚页面不会每次都呈现。

我看了这个链接http://java.dzone.com/news/ajaxified-body但是无法配置是不是有什么特殊配置

当用户登录时,您可以看到 twitter.com 或 facebook.com,当您单击任何链接时,您可以看到无法重新加载甚至反映的标题面板。那么如何实现呢? @贾耶什

【问题讨论】:

    标签: java ajax jakarta-ee sitemesh


    【解决方案1】:

    如果我理解正确,您点击的链接会使用 AJAX 加载页面的一部分,而 Sitemesh 会装饰该页面,这是您不想要的。

    如果是这样,那么答案就在问题中。配置 sitemesh 使其不装饰此 AJAX 请求(或所有 AJAX 请求)。例如,您可以让所有 AJAX URL 使用公共前缀(如 ajax),并使用以下规则:

    <mapping path="/ajax*" exclude="true"/>
    

    或者您可以扩展 Sitemesh 过滤器,使用 HTTP_X_REQUESTED_WITH 请求标头检测请求是否为 AJAX 请求,并且仅在不是 ajax 请求时过滤。

    【讨论】:

    • 如果我这样做,那么所有流程都在 javascript 端进行,我无法验证用户请求,这就是为什么我不会在服务器端这样做。
    • 我不明白你的意思。请澄清你原来的问题。如有必要,请不要犹豫加入屏幕截图。
    • 您可以看到twitter.comfacebook.com 当用户登录时,您可以看到当您点击任何链接时无法重新加载甚至反映的标题面板。那么如何实现呢?
    • 看到这个可以帮助你:stackoverflow.com/questions/8984868/…
    • 我没有任何 facebook 或 twitter 帐户,但无论如何,您没有太多选择。使用框架(但我不会这样做:它们会导致很多问题),或者使用 AJAX 仅刷新页面的某些部分。
    猜你喜欢
    • 2019-12-12
    • 1970-01-01
    • 1970-01-01
    • 2010-09-25
    • 1970-01-01
    • 2010-10-04
    • 2020-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多