有时候在做struts2的返回页面时,不想让sitemesh装饰action所返回的某个特定的页面,比如:错误页面或者我们自己写的404页面。因为sitemesh是根据url来判断是否装饰的,如果你提交上去的action已经装饰了,那么这个action返回回来的result页面,自然就也会被装饰,因为此时地址栏的url没有变化。如果我们此时不想装饰返回的某个页面时,可以有以下解决方案:(有关sitemesh配置文件我就不做说明了,网上一大堆,呵呵^_^..以下是部分配置说明)
struts.xml部分配置:
<action name="toIndex" class="indexAction" method="toIndex">
<result name="index">/main.jsp</result>
<result name="error">/error.jsp</result>
</action>
我们不想对上面的error.jsp做装饰,那么我们要在error.jsp页面上加一句meta:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<!-- 不让sitemesh装饰此页面 :content="none"表示在decorators.xml里面的name="none"的装饰器 -->
<meta name="decorator" content="none"/>
<title>异常页面</title>
</head>
然后再在decorators.xml中配置一下:
<?xml version="1.0" encoding="UTF-8"?>
<decorators defaultdir="/layout">
<decorator name="none">
<pattern>/error.jsp*</pattern>
</decorator>
</decorators>
注意:上面的name="none"要和error.jsp页面中的meta "content"属性值一样。好了,配置完了,试试吧,肯定不会再被装饰了,^_^。。。
除了上面的解决方案之外,根据网友的提示,貌似在action中设置result的type="redirect"也可以,不过我没试,有兴趣的可以试试,呵呵。。谢谢大家,第一次发稿,请多指教。。
分享到:
相关推荐
7. **sitemesh-2.3.jar**:SiteMesh是一个页面布局和装饰框架,用于统一Web应用的页面样式。它可以将公共头部、底部等元素应用于所有页面,提高应用的视觉一致性。 8. **ognl-2.6.11.jar**:OGNL(Object-Graph ...
2. **成熟社区支持**:Struts2拥有活跃的开发者和用户社区,提供丰富的文档和解决方案。 3. **配置方式多样**:Struts2支持XML和Annotation两种配置方式,使得配置更加灵活。 4. **Action与Servlet API解耦**:...
Struts2是一个流行的Java web应用程序框架,用于构建MVC(模型-...总之,Struts2通过其强大的功能和优化的架构,解决了Struts1.x的不足,提高了开发效率和代码质量,为Java web开发提供了一个高效且灵活的解决方案。
Struts2允许开发者根据项目需求定制自己的解决方案,而丰富的插件和社区资源则提供了大量现成的解决方案,降低了开发难度和维护成本。 接下来,我们会对Web基础技术进行简要介绍,包括B/S和C/S系统的区别,JSP和...
Struts2是一个强大的MVC(Model-View-Controller)框架,它为Java Web应用程序提供了结构化和可扩展的开发方式。...这使得Struts2能够适应各种复杂的项目需求,提供了一种高效且易于维护的Java Web开发解决方案。
Struts2的主要目标是提供一个更加灵活和强大的解决方案,以解决Struts1.x版本中存在的问题,如表现层技术单一、与Servlet API耦合严重、不易测试等。 在Struts1.x中,表现层技术主要局限于JSP,与Servlet API耦合...
例如,Struts2的displaytag、sitemesh等标签,可以轻松实现数据展示和页面布局。在描述中提到的"Struts2标签",就是指这些用于简化视图层开发的组件,它们能够帮助开发者快速创建动态、交互式的用户界面。 Spring...
Spring框架是一个开源的轻量级Java SE/EE全栈解决方案,它提供了一整套的企业级应用开发解决方案。Spring框架的核心特性包括依赖注入(Dependency Injection, DI)、面向切面编程(Aspect-Oriented Programming, AOP...
- **Struts2**在WebWork的基础上进行了扩展,增加了更多的功能模块,如Action、Result等,并且引入了更为强大的依赖注入机制。 3. **学习价值:** - 学习WebWork可以帮助开发者更好地理解Struts2的工作原理,因为...
在IT领域,特别是软件开发与Web应用开发中,框架(Framework)扮演着至关重要的角色,它们为开发者提供了结构化、模块化的解决方案,大大提升了开发效率和代码质量。根据所提供的文件信息,我们可以归纳出一系列与...