因为web应用里的url是个很重要的话题。而struts2和sitemesh的整合重点就是url的互相定义和应用。
首先必须明白一个很重要但常常被忽略的地方。struts2的namespace。这个概念很重要的。一定要弄明白以下几点:
1:namespace是package的一个属性而不是单个action的属性例
<package name="shop" extends="struts-default" namespace="/shop">
<action name="login">
<result>/WEB-INF/shop/login.jsp</result>
</action>
</package>
2:注意了这样定义好后,严重影响到了result,这里的所有资源都定义到了这个路径下:
/${projectname}/shop 这个是这个页面包含下的系统根目录了。所以你放在项目根目录的那些css 图片。如果直接引用肯定会失败。必须在项目根目录(这里说下项目根目录,就是你的WEB-INF这个文件夹,也就是你的项目文件夹)下新建一个和你的namespace一样的文件夹,我在这里新建了一个shop的文件夹。然后在这里直接调用。和根目录放的效果一样。这里也有个折中的办法
<%String path=request.getContextPath()%>然后在你的引用中把这个路经放上!<%=path%>/style/shop.css .
3:在namespace下result中的所有页面的请求都加上了一个shop :也就是这样的
http://localhost:8080/project/shop/xxx.jsp or xxx.action.
分享到:
相关推荐
要将Struts2和Sitemesh整合,我们需要两个关键的组件:Sitemesh框架本身(在这个例子中是版本2.4.2)和Struts2的Sitemesh插件(版本2.1.8)。这两个组件的集成使得Struts2能够自动将Sitemesh应用于其返回的页面,...
将Struts2与SiteMesh整合,可以实现更加统一和规范化的网站外观,并减少重复代码。 整合Struts2和SiteMesh主要涉及以下几个步骤: 1. **添加依赖**:首先,在项目中引入SiteMesh的jar包。如果使用的是Maven,可以...
### Struts2整合SiteMesh技巧 #### 概述 在Web开发中,为了实现页面布局的统一性与可维护性,通常会...通过以上步骤,即可完成Struts2与SiteMesh的基本整合,从而实现页面布局的一致性和美观性,提高项目的可维护性。
Struts2和Sitemesh是两个非常流行的Java Web开发框架,它们在构建高效、结构化的MVC(模型-视图-控制器)应用中起到关键作用。Struts2是一个基于MVC设计模式的开源框架,主要用于控制应用程序的流程,而Sitemesh则是...
struts框架与sitemesh框架整合的插件,在java web开发中可以制作模板页,使自己做的网站看起来更专业
在Struts2与Sitemesh的整合中,我们通常会在Struts2的配置文件中添加Sitemesh的拦截器,这样,每次Struts2处理完Action返回的结果后,Sitemesh会自动对结果页面进行装饰。这样不仅简化了开发者的工作,也让网站的...
Sitemesh是由一个基于Web页面布局、装饰以及与现存Web应用整合的框架。它能帮助我们在由大 量页面构成的项目中创建一致的页面布局和外观,如一致的导航条,一致的banner,一致的版权,等等。 它不仅仅能处理动态的...
在源码中,可以看到Sitemesh配置和过滤器的实现,以及如何与Struts2整合,确保每个Action的结果都能被正确装饰。 3. **FreeMarker模板引擎**:FreeMarker是一个基于模板的语言,它与Java代码分离,使得视图层更加...
而Struts2 SiteMesh 插件则使得整合 SiteMesh 和 Struts2 框架变得更加方便,让开发者可以充分利用 SiteMesh 的功能来提升用户体验。 首先,我们需要理解 Struts2 是一个基于 Model-View-Controller(MVC)设计模式...
1. 添加依赖:整合SSH,需要在项目中引入相应的jar包,包括Struts2、Spring、iBatis以及它们的依赖库,例如sitemesh用于页面装饰。确保包含所有必要的jar,如描述中提到的,这里有18个jar包,涵盖了基本需求。 2. ...
在IT行业中,Spring、Struts2和iBatis是三个非常重要的开源框架,它们分别在控制层、表现层和数据访问层发挥着关键作用。整合这三个框架可以构建出高效、可维护的企业级Web应用。接下来,我们将深入探讨这三个框架的...
1. 首先,引入Sitemesh、Spring、Struts2和Hibernate的依赖库。 2. 配置Spring,创建Bean定义文件,定义Service层、DAO层以及SessionFactory。 3. 配置Struts2,设置Action类,定义Action拦截器,结合Spring进行依赖...
第10章 Struts 2的标签库,第11章 Struts 2的Ajax支持,第12章 使用FreeMarker充当表现层,第13章 整合Spring,第14章 整合JSF,第15章 整合SiteMesh,第16章 整合JasperReports,第17章 整合JFreeChart,第18章 ...
Spring还提供了事务管理、数据访问集成、MVC框架等功能,与Struts2整合可以实现更强大的控制层和业务层支持。 3. **Hibernate** Hibernate是一个ORM(Object-Relational Mapping,对象关系映射)框架,它简化了...
在Struts2中整合SiteMesh,你需要将sitemesh-2.3.jar和Struts2-sitemesh-plugin-2.0.6.jar添加到项目的类路径下。然后,在`web.xml`中配置ActionContextCleanUp过滤器和SiteMesh的PageFilter,这两个过滤器分别用于...
8. `struts2-sitemesh-plugin-2.0.11.jar`:整合Sitemesh进行页面布局和装饰。 Spring框架的核心组件主要是`spring.jar`,它提供: 1. 依赖注入(DI)和控制反转(IoC):使得对象间的依赖关系可以在运行时自动管理...
它们各自承担着不同的职责,并且在实际项目中经常被整合使用,形成了所谓的"SSH2"(Struts2 + Spring + Hibernate)框架组合,加上JPA和SiteMesh,进一步提升了开发效率和应用的可维护性。 1. **Struts2**:这是一...
3. **使用Spring MVC或Struts2**:如果项目使用了Spring MVC或Struts2等框架,Sitemesh有对应的整合方式,可以更方便地实现页面装饰。 4. **处理Ajax请求**:Sitemesh默认不处理Ajax请求,但可以通过自定义Filter或...