- 浏览: 1573992 次
- 来自: 上海
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
1.导入Struts2的jar 和 sitemesh.jar 和 Struts2-sitemesh-plugin.jar
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-lang3-3.1.jar
commons-logging-1.1.1.jar
freemarker-2.3.19.jar
javassist-3.11.0.GA.jar
ognl-3.0.5.jar
sitemesh-2.4.2.jar
struts2-core-2.3.4.jar
struts2-sitemesh-plugin-2.3.4.1.jar
xwork-core-2.3.4.jar
2.在web.xml中配置 Struts sitemesh拦截器 注意有一定的顺序
3.在webroot下的descorators目录下建立 myDecorator.jsp 装饰器页面
4.在web-inf 下建立 装饰器描述文件 decorators.xml
5.建立 实体类 Song.java
6.action
7.配置 struts.xml
8.allSongs.jsp
9.访问localhost:8080/Struts2AndSiteMesh/songs/allSongs.action 可以看到 页面中加入
top 和bottom
如果将 decorations.xml中的pattern 改成 <pattern>/singer/*</pattern>
那上面的访问的页面就没有经过装饰器页面 修饰
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-lang3-3.1.jar
commons-logging-1.1.1.jar
freemarker-2.3.19.jar
javassist-3.11.0.GA.jar
ognl-3.0.5.jar
sitemesh-2.4.2.jar
struts2-core-2.3.4.jar
struts2-sitemesh-plugin-2.3.4.1.jar
xwork-core-2.3.4.jar
2.在web.xml中配置 Struts sitemesh拦截器 注意有一定的顺序
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <!--用来消除sitemesh 拦截器 Struts2拦截器的冲突 使之兼容--> <filter> <filter-name>struts-cleanup</filter-name> <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class> </filter> <filter> <filter-name>sitemesh</filter-name> <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class> </filter> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts-cleanup</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>sitemesh</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
3.在webroot下的descorators目录下建立 myDecorator.jsp 装饰器页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="decorator" uri="http://www.opensymphony.com/sitemesh/decorator" %> <%@ taglib prefix="page" uri="http://www.opensymphony.com/sitemesh/page" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title><decorator:title default="装饰器页面"/></title> <decorator:head/> </head> <body> <div>top</div> <hr> <div> <decorator:body/> </div> <hr> <div>bottom</div> </body> </html>
4.在web-inf 下建立 装饰器描述文件 decorators.xml
<?xml version="1.0" encoding="UTF-8"?> <decoratos defaultdir="/decorators"> <decorator name="myDecorator" page="myDecorator.jsp"> <pattern>/songs/*</pattern> </decorator> </decoratos>
5.建立 实体类 Song.java
private String songName; private String singer; private String songTime; //get set
6.action
package com.sh.action; import java.util.ArrayList; import java.util.List; import com.opensymphony.xwork2.ActionSupport; import com.sh.entity.Song; public class AllSongs extends ActionSupport { private List<Song> allSongs=new ArrayList<Song>(); public List<Song> getAllSongs() { return allSongs; } public void setAllSongs(List<Song> allSongs) { this.allSongs = allSongs; } @Override public String execute() throws Exception { // TODO Auto-generated method stub Song song1=new Song(); song1.setSongName("浪子心声"); song1.setSinger("刘德华"); song1.setSongTime("3:41"); Song song2=new Song(); song2.setSongName("中国话"); song2.setSinger("SHE"); song2.setSongTime("4:18"); Song song3=new Song(); song3.setSongName("丁香花"); song3.setSinger("唐磊"); song3.setSongTime("4:05"); allSongs.add(song1); allSongs.add(song2); allSongs.add(song3); return SUCCESS; } }
7.配置 struts.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <constant name="struts.i18n.encoding" value="utf-8"/> <package name="default" extends="struts-default" namespace="/songs"> <action name="allSongs" class="com.sh.action.AllSongs"> <result>/allSongs.jsp</result> </action> </package> </struts>
8.allSongs.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="/struts-tags" prefix="s" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>Struts2AndStieMesh</title> </head> <body> <center> <br/> <div> <ul style="list-style: none"> <li style="float: left; width: 100px;">歌名</li> <li style="float: left; width: 100px;">歌手</li> <li style="float: left; width: 100px;">时长</li> <div style="clear: both;"></div> </ul> <s:iterator value="allSongs"> <ul style="list-style:none"> <li style="float: left; width: 100px;"><s:property value="songName"/></li> <li style="float: left; width: 100px;"><s:property value="singer"/></li> <li style="float: left; width: 100px;"><s:property value="songTime"/></li> <div style="clear: both;"></div> </ul> </s:iterator> </div> <br/> </center> </body> </html>
9.访问localhost:8080/Struts2AndSiteMesh/songs/allSongs.action 可以看到 页面中加入
top 和bottom
如果将 decorations.xml中的pattern 改成 <pattern>/singer/*</pattern>
那上面的访问的页面就没有经过装饰器页面 修饰
- Struts2AndSiteMesh.zip (3.5 MB)
- 下载次数: 147
评论
1 楼
java-lxm
2015-05-28
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
</filter>
这不是已经过时了吗
<filter-name>struts-cleanup</filter-name>
<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
</filter>
这不是已经过时了吗
发表评论
-
解决getOutputStream() has already been called for this response
2014-07-30 19:16 3277java.lang.IllegalStateException ... -
Struts2 + ajaxFileUpload 异步上传文件
2013-12-04 19:33 1858ajaxFileUpload下载地址http://www.ph ... -
Struts2 Action 解析提交的XML
2013-10-16 12:30 1598package com.bjdata.bjsearch.p ... -
MyBatis+Spring+Struts2
2012-11-28 00:32 10558MyBatis3.1.1+Spring3.1.2+Struts ... -
Ibatis 整合spring + Struts2 加入OSCACHE
2012-11-14 00:10 4510说明: 使用 spring2.5 +ibatis2.3 ... -
Struts2中使用JfreeChart
2012-11-06 09:02 15941.jar commons-fileupload-1.2.2. ... -
SiteMesh简单应用
2012-11-05 10:11 15501.在javaweb中加入 sitemesh-2.4.2.ja ... -
Struts2 编写安全策略(四十五)
2012-09-23 23:53 2251编写安全策略 包含(1 ... -
SSH2整合完整案例(四十三)
2012-09-14 09:34 20589注解配置:Struts2+Spring2.5+Hibernat ... -
Struts2 阻止表单重复 和 等待页面(四十四)
2012-09-23 21:13 2106表单重复提交现象 导 ... -
Struts2 文件上传,下载,删除(四十一)
2012-09-10 23:37 12282本文介绍了: 1.基于表单的文件上传 2.Struts 2 的 ... -
Struts2 文件上传,下载的类型(四十二)
2012-09-06 23:18 1953声明: 以下复制他人的!!! Struts2 文件上传 之 ... -
Struts2 常用标签使用(三十九)
2012-09-03 09:28 63791.append标签 使用append标签可以把多个集合对 ... -
Struts2 timer拦截器(三十二)
2012-08-31 02:17 20351.Strus2系统拦截器中,timer拦截器可以实现输出Ac ... -
Struts2 常用标签使用(三十九)
2012-09-03 00:50 51.append标签 使用append标签可以把多个集合对 ... -
Struts2 主题和模版设置(四十)
2012-09-03 20:24 4101----------------Struts2 主题----- ... -
Struts2 如何使用OGNL表达式(三十八)
2012-08-30 20:55 50321.OGNL是Object Graph Navitagtion ... -
Struts2 使用Validation框架验证数据(三十七)
2012-08-30 11:25 18409A:在Struts2的框架汇中,开发者可以通过继承Action ... -
Struts2 使用Validation框架验证数据(三十七)
2012-08-29 14:08 9A:在Struts2的框架汇中,开发者可以通过继承Action ... -
Struts2 iterator 标签遍历 Map,List,数组(三十六)
2012-08-26 18:30 204761.使用iterator 标签 遍历 数组,Map,List ...
相关推荐
Struts 2.0提供一个Sitemesh插件,允许在Sitemesh模板中使用Struts标记。 要使用Sitemesh需要包含Freemark,Sitemesh和Sitemesh插件库文件。 配置过滤器 如果需要使用Freemark模板文件作为装饰器文件,需要在web....
struts2与sitemesh整合所需的两个最新架包sitemesh-2.4.2,struts2-sitemesh-plugin-2.1.8
struts框架与sitemesh框架整合的插件,在java web开发中可以制作模板页,使自己做的网站看起来更专业
Sitemesh是由一个基于Web页面布局、装饰以及与现存Web应用整合的框架。它能帮助我们在由大 量页面构成的项目中创建一致的页面布局和外观,如一致的导航条,一致的banner,一致的版权,等等。 它不仅仅能处理动态的...
第10章 Struts 2的标签库,第11章 Struts 2的Ajax支持,第12章 使用FreeMarker充当表现层,第13章 整合Spring,第14章 整合JSF,第15章 整合SiteMesh,第16章 整合JasperReports,第17章 整合JFreeChart,第18章 ...
Struts2+Spring+Hibernet+JPA+sitemesh+log4j整合。
基于Struts2的SSH2整合架构,并在此架构基础上实现一个完整的办公自动化系统。在《开发者突击:Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)》架构讲解的过程中,穿插介绍了JDBC、Log4j、Sitemesh、JUnit...
《开发者突击:Java Web主流框架整合开发(第2版)(含CD光盘1张)》是畅销书《开发者突击:Java Web主流框架整合开发(J2EE+Struts+ Hibernate+Spring)》的第2版,全面地讲解了Java Web开发中的流行技术和软件架构,...
一共18个jar包,包括了sitemesh等常用jar包,一般系统都足够了
最近温习ssh2整合编程,顺便浏览下struts2有什么更新的消息,下载了新版本的struts2的2.1.8.1版,使用的是MyEclipse8.0开发,但是问题就随之而来了。MyEclipse8.0中自带的struts2版本是2.1.6,spring版本有2.0,2.5...
《开发者突击:Java Web主流框架整合开发(第2版)(含CD光盘1张)》是畅销书《开发者突击:Java Web主流框架整合开发(J2EE+Struts+ Hibernate+Spring)》的第2版,全面地讲解了Java Web开发中的流行技术和软件架构,...
《开发者突击:Java Web主流框架整合开发(第2版)(含CD光盘1张)》是畅销书《开发者突击:Java Web主流框架整合开发(J2EE+Struts+ Hibernate+Spring)》的第2版,全面地讲解了Java Web开发中的流行技术和软件架构,...
《开发者突击:Java Web主流框架整合开发(第2版) ,全面地讲解了Java Web开发中的流行技术和软件架构,涵盖了目前从JSP、JavaBean、Servlet到Hibernate、Struts、Spring、Struts 2的主流开发框架,同时通过办公...
《开发者突击:Java Web主流框架整合开发(第2版)(含CD光盘1张)》是畅销书《开发者突击:Java Web主流框架整合开发(J2EE+Struts+ Hibernate+Spring)》的第2版,全面地讲解了Java Web开发中的流行技术和软件架构,...
《开发者突击:Java Web主流框架整合开发(第2版)(含CD光盘1张)》是畅销书《开发者突击:Java Web主流框架整合开发(J2EE+Struts+ Hibernate+Spring)》的第2版,全面地讲解了Java Web开发中的流行技术和软件架构,...
《开发者突击:Java Web主流框架整合开发(第2版)(含CD光盘1张)》是畅销书《开发者突击:Java Web主流框架整合开发(J2EE+Struts+ Hibernate+Spring)》的第2版,全面地讲解了Java Web开发中的流行技术和软件架构,...
《开发者突击:Java Web主流框架整合开发(第2版)(含CD光盘1张)》是畅销书《开发者突击:Java Web主流框架整合开发(J2EE+Struts+ Hibernate+Spring)》的第2版,全面地讲解了Java Web开发中的流行技术和软件架构,...
《开发者突击:Java Web主流框架整合开发(第2版)(含CD光盘1张)》是畅销书《开发者突击:Java Web主流框架整合开发(J2EE+Struts+ Hibernate+Spring)》的第2版,全面地讲解了Java Web开发中的流行技术和软件架构...
《开发者突击:Java Web主流框架整合开发(第2版) 全面地讲解了Java Web开发中的流行技术和软件架构,涵盖了目前从JSP、JavaBean、Servlet到Hibernate、Struts、Spring、Struts 2的主流开发框架,同时通过办公自动...