解决方案:
避免用不到SiteMesh的AJAX请求被SiteMesh拦截,具体如下
(1)给Struts2配两个后缀,如.do,.ajax
(2)SiteMesh中只拦截后缀为.do的请求
(3)不用SiteMesh的AJAX action请求以.ajax结尾
--------------------------------
配置文件改动:
(1)struts.xml
<constant name="struts.action.extension" value="do,ajax"></constant>
(2)web.xml
<!-- SiteMesh -->
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<!-- Struts2 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.ajax</url-pattern>
</filter-mapping>
分享到:
相关推荐
在这个项目中,SiteMesh框架被用于页面布局和装饰,提供了更高效的页面设计和管理方式。Ajax技术则被用来实现页面的异步更新,提升用户体验。 1. Spring框架:Spring作为核心的依赖注入(DI)和面向切面编程(AOP)...
jqueryui界面框架_sitemesh布局框架
1. **添加Sitemesh依赖**:首先,你需要在项目的构建路径中引入Sitemesh的库。这通常可以通过Maven或Gradle来完成,或者直接下载jar包添加到项目类路径下。 2. **配置web.xml**:在`WEB-INF/web.xml`中,我们需要...
要在Spring MVC项目中整合Sitemesh和Freemarker,首先需要确保项目中已经包含了Sitemesh和Freemarker的相关依赖。然后,可以在`web.xml`中配置Sitemesh过滤器,并在Spring配置文件中配置Freemarker视图解析器。 ...
在提供的压缩包中,"SiteMesh"可能包含了Sitemesh的源码、文档、示例项目或者其他配置文件。通过研究这些资源,你可以更好地理解和学习如何在实际项目中应用Sitemesh。学习和掌握Sitemesh能让你在开发Java Web应用时...
2. **配置SiteMesh**:在web.xml中配置SiteMesh Filter是必要的,这会告诉Servlet容器何时及如何使用SiteMesh来处理请求和响应。 3. **定义装饰模板**:SiteMesh允许你创建一个或多个装饰模板,这些模板定义了页面...
4. **处理Ajax请求**:Sitemesh默认不处理Ajax请求,但可以通过自定义Filter或扩展Sitemesh的实现来处理。 5. **配置文件定制**:Sitemesh 提供了 `sitemesh.properties` 配置文件,可以根据需要调整装饰策略、缓存...
要在项目中启用Sitemesh,需要在`web.xml`文件中添加Sitemesh Filter的配置。 ```xml <filter> <filter-name>sitemesh</filter-name> <filter-class>org.sitemesh.config.ConfigurableSiteMeshFilter</filter-...
1. **Sitemesh的引入**:首先,我们需要在项目中引入Sitemesh的依赖。这通常通过在Maven的pom.xml文件中添加Sitemesh的依赖项来完成。这样,Sitemesh库就可以被包含在项目的类路径中。 2. **配置Sitemesh**:接下来...
首先,要在Web应用中启用Sitemesh,你需要在`WEB-INF/web.xml`配置文件中添加Sitemesh Filter的定义。以下是一个示例配置: ```xml <filter> <filter-name>sitemesh</filter-name> <filter-class>...
SiteMesh是一个非常优秀的页面装饰器框架,它将页面共用的内容放在装饰器页面中,通过对所有用户请求和服务器响应进行过滤,把装饰器中指定的共用内容插入到被装饰页面中,从而形成一个完整的页面。SiteMesh框架通过...
在web.xml中配置Sitemesh Filter,然后在SpringMVC的配置中添加Sitemesh的拦截器。在页面上使用Sitemesh标签(如)来定义页面布局。 6. **创建实体类**:根据数据库表结构,创建对应的Java实体类,并生成对应的...
在"Sitemesh 例子"中,我们可以探索如何在实际项目中运用Sitemesh。首先,我们需要了解Sitemesh的基本配置。这通常涉及到在Web应用的web.xml文件中添加Sitemesh过滤器,如以下配置所示: ```xml <filter> <filter-...
要开始使用Sitemesh,你需要在你的项目中引入Sitemesh的依赖。如果你的项目是基于Maven的,可以在pom.xml文件中添加对应的依赖项。对于其他构建工具,可以找到相应的库文件并将其添加到类路径中。 接下来,配置...
在 Maven 项目中,首先需要在 `pom.xml` 文件中添加 sitemesh 的依赖。通常的依赖配置如下: ```xml <groupId>org.sitemesh <artifactId>sitemesh <version>3.0.1 ``` 接下来,需要配置 Web 应用的 `web....
在本文中,我们将探讨 Sitemesh 的基本原理和如何在实际项目中应用装饰器。 首先,我们需要了解 Sitemesh 的工作流程。当一个 Web 请求到达服务器时,Sitemesh 会拦截请求,检查是否需要应用装饰器。如果需要,它会...
2. **过滤器(Filter)机制**:sitemesh通过实现Servlet的Filter接口,拦截HTTP请求和响应,对页面进行预处理和后处理,实现装饰功能。 3. **配置文件(sitemesh.properties)**:sitemesh的配置文件用于定义装饰...
在项目中集成 SiteMesh 需要在 `web.xml` 文件中配置 SiteMesh 过滤器。添加以下代码段来配置 SiteMesh Filter: ```xml <filter> <filter-name>...
1. **下载 Sitemesh**:首先从官方仓库或者 Maven 仓库下载 Sitemesh 的 JAR 包,将其添加到项目的类路径中。 2. **配置 web.xml**:在你的 `WEB-INF/web.xml` 文件中,添加 Sitemesh 过滤器配置。这通常包括以下...
【sitemesh3-demo】是一个基于Sitemesh3框架的示例项目,旨在展示如何在Web应用程序中有效地实现页面布局和装饰功能。Sitemesh是一个开源的Java Web应用框架,主要用于增强网页的外观和结构,通过定义装饰模板,可以...