1、使用JSP页面的包含命令建立
(1)建立复合页面的各个部分header.jsp,menu.jsp,contentIndex.jsp,footer.jsp
(2)将各个页面包含进来,其中file指定页面要包含的文件
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ include file="header.jsp" %> |
<%@ include file="menu.jsp" %> |
<%@ include file="contentIndex.jsp" %> |
<%@ include file="footer.jsp" %> |
2、使用tiles标签来建立
(1)建立复合页面的各个部分header.jsp,menu.jsp,contentIndex.jsp,footer.jsp
(2)将各个页面包含进来,这种方法使用了Tiles标签
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>
在使用
[1]在项目的lib目录下引入下列jar包:struts.jar,commons-beanutils.jar,commons-digester.jsr,commons-logging.jsr
[2] 在web.xml文件中引入struts Tiles标签库
[3] 在页面中添加使用标签的语句
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>
3、利用Tiles标签和复合页面模板建立
(1)建立复合页面的各个部分header.jsp,menu.jsp,contentIndex.jsp,footer.jsp
(2)建立复合页面模板:basePage.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>
(3)建立复合页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>
页面首先使用
4、利用Tiles框架来建立
(1)建立复合页面的各个部分header.jsp,menu.jsp,contentIndex.jsp,footer.jsp
(2)建立复合页面模板:basePage.jsp
(3)建立配置文件tiles-defs.xml
"1.0" encoding="UTF-8" ?>
代码说明:
[1] 复合页面的定义通过
[2] 可以定义多个复合页面,这些定义包含在
(4)在struts-config.xml文件中配置上述文件,引入Tiles插件
(5)若在struts-config.xml文件中使用自定义的RequestProcessor,该RequestProcessor需要继承自TilesRequestProcessor,否则Web启动时会出错,不能引入Tiles插件。
public class EncodingProcessor extends TilesRequestProcessor {
public void process(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
super.process(request, response);
}
}
(6)建立复合页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>
总结:前两种方法基本类似,都是在复合页面中用命令或标签引入各个独立的页面,但是当复合页面的形式发生变化的时候,需要每个页面分别进行调整。第三种方法可以解决这个问题,先建立一个复合页面的模板页面,然后按照模板的定义引入各个页面,一旦需要修改所有的复合页面,只需要修改模板即可。第四种方法将每个复合页面的Tiles标签几种卸载一个配置文件中,既减少了复合页面中的代码量,也使得代码维护更加方便。