如何在Web应用程序中有效地使用sitemesh

时间:2012-02-01 09:06:50

标签: java ajax java-ee sitemesh

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

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

像ajax更改sitemesh中的boy内容以及如何实现所有页眉和页脚页面都不会每次都呈现。

我读了这个链接http://java.dzone.com/news/ajaxified-body但是无法配置是否有任何特殊配置

当用户登录时,你可以看到twitter.com或facebook.com你可以看到无法重新加载的标题面板,甚至当你点击任何链接时都会反映出来。那怎么可以实现呢? @jayesh

1 个答案:

答案 0 :(得分:0)

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

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

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

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