最近开发中发现用displayTag装页面时,如果统计的列表过宽,你如果一个月的31天数据的统计,左边的struts-menu菜单就不见了,没得法,不得不要修改siteMesh的装饰器模板,增加一个打印的decorator的文件,为了测试,先在decorator增加一个print打印模板的JSP文件,取名为printable.jsp,然后随便写如下内容到文件中
<%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator" prefix="decorator" %>
<html>
<head>
<title><decorator:title default="Welcome!" /></title>
<decorator:head />
</head>
<body onload="window.print();">
Printed on <%=new java.util.Date()%>.<br/>
<hr noshade="noshade" size="1"/>
<br/>
<decorator:body />
</body>
</html>
再配置decorators.xml的装饰规则<decorator name="printable" page="printable.jsp">
<pattern>*/print/*</pattern>
</decorator>
同时把主装饰中
<decorators defaultdir="/decorators">
<excludes>
<pattern>/demos/*</pattern>
<pattern>/resources/*</pattern>
<pattern>*/map/*</pattern>
<pattern>/print/*</pattern>
</excludes>
加上/print/*的例外配置,表示/print/*的目录下请求都不使用主装饰器处理,呵
然后我把web/page/print/目录下,建一个所需的printList.jsp文件,让它应用print.jsp的装饰器,以为大功告成了,提交请求,结果还是应用了主装饰器,百般思绪,弄了一上午,不行,出去洗洗回来,查看一下源码,才发现sitemesh的装饰方式在通过在web.xml文件中配过滤器实现的,意味着,目录的请求都是表示http://www.pben.cn/print/类似的方式工作的,如果要应用print目录的规则就得改一下你的form action的链接前面加上/print/路径才行,
关键点:更改form action=/print/printActionController,再改一下actionservlet.xml的配置把原来指定为”/printActionController"的映射处理更改为“/print/printActionController",重启tomcat,成了,幸福中,希望有弄appfuse方面的朋友,能从我的文章及错误中吸取取经验,呵^_^
分享到:
相关推荐
AppFuse 是一个开源项目,旨在简化Java Web应用程序的开发。它提供了一个基础架构,开发者可以在此基础上快速构建安全、可扩展的应用程序。AppFuse 2.1 版本是该项目的一个较早版本,但仍然包含了现代Web开发的核心...
AppFuse 是一个开源项目,旨在简化Java Web应用程序的开发过程。它提供了一个基础框架,集成了许多流行的开源库,如Spring、Hibernate、Struts或Spring Boot等,帮助开发者快速搭建应用骨架。AppFuse 可以根据选定的...
- 注意:AppFuse 1.9.4版本暂时不支持Tomcat 6.0及以上版本,推荐使用Tomcat 5.5。 **4. 安装Ant** - 访问Apache Ant官网下载最新版的Ant,并解压到指定目录。 - 设置环境变量`ANT_HOME`指向Ant安装目录,并确保`%...
AppFuse 是一个开源项目,它为开发Java Web应用程序提供了一个快速启动的基础。它结合了多种框架和最佳实践,使得开发者可以快速构建出安全、可维护的Web应用。AppFuse 使用Maven作为构建工具,整合了Spring、...
标题“APPFUSE2.0中加入FCKeditor”指的是在APPFUSE 2.0这个开源项目中集成FCKeditor这一富文本编辑器的过程。APPFUSE是一个快速开发框架,它结合了Spring、Hibernate、Struts等流行技术,帮助开发者迅速构建Java ...
AppFuse 是一个开源项目,它提供了一种快速构建企业级 Web 应用程序的方式。它使用了多种流行的技术栈,如 Spring Boot、Hibernate、Thymeleaf 和 Maven,使得开发者可以更高效地开发基于 Java 的 Web 应用。在本文...
AppFuse 是一个基于Java平台的开源项目,旨在加速和简化Web应用程序的开发。它通过集成各种流行框架,如Struts、Spring、Hibernate等,提供了一个项目骨架,使得开发者能够快速搭建新项目的结构。AppFuse分为1.x和...
通过以上介绍,我们可以看出 AppFuse 是一个强大而实用的工具,对于想要快速开发 J2EE 应用的开发者来说,它能显著提高开发效率,同时保持代码的整洁和可维护性。无论你是初学者还是经验丰富的开发者,AppFuse 都...
AppFuse最初作为一个示例应用程序出现在《Pro JSP》一书中。随着时间的发展,它逐渐演变为一套完整的项目启动工具包。社区反馈对其发展起到了关键作用,不断优化和改进使得AppFuse成为了一个遵循“最佳实践”的J2EE ...
AppFuse 是一个开源项目,旨在帮助开发者快速构建J2EE应用程序。它提供了一种模板化的方法,通过结合现有的最佳实践和流行的技术栈,如Spring、Hibernate和Tapestry,简化了开发过程。本文将深入探讨如何利用AppFuse...
SiteMesh是一个Web页面布局修饰框架, 用于构建包含大量页面, 需要一致的外观样式(look/fell), 导航和布局机制的大型网站. SiteMesh应用Decorator模式,用filter截取request和response,把页面组件head,content,...
Appfuse 是一个开源框架,旨在帮助开发者高效地构建企业级应用。通过提供一套完善的架构模板、最佳实践和技术栈组合,使得开发者能够专注于业务逻辑的实现,而不是基础架构的搭建。这不仅大大提升了开发效率,还保证...
要使用 AppFuse 构建应用,首先你需要下载 AppFuse 的源码,并安装 Maven(一个项目管理和综合工具)。然后,通过运行 Maven 命令,你可以创建一个新的 AppFuse 项目。这个命令会生成一个包含所有必要文件和目录结构...
在本教程中,我们将深入了解如何利用Maven这个强大的构建工具来搭建和管理AppFuse应用。 首先,我们需要理解Maven。Maven是Apache软件基金会开发的一个项目管理和综合工具,主要通过一个项目对象模型(Project ...
适合初学者和有经验的开发者去深入理解和使用AppFuse和XDoclet,同时也涵盖了SpringSide、SiteMesh、Acegi Security(Spring Security)和Log4j等其他相关技术,对于构建和管理Java Web应用来说是一份宝贵的资源库。
12. **AppFuse驱动的项目**:展示使用AppFuse构建的真实世界项目案例,证明其在实际应用中的价值。 13. **路线图和软件过程**:描述AppFuse的未来规划和软件开发方法论。 14. **源代码仓库和赞助商**:提供...