建立复合页面的四种方法

 

1、使用JSP页面的包含命令建立

(1)建立复合页面的各个部分header.jsp,menu.jsp,contentIndex.jsp,footer.jsp

(2)将各个页面包含进来,其中file指定页面要包含的文件

 

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

   

       产品信息反馈平台

   

   

      

"center">

          

"0">

             

"center">

                 

             

             

"right">

                 

             

             

"center">

                 

             

             

"center">

                 

             

          

<%@ 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"%>

   

       产品信息反馈平台

   

   

      

"center">

          

"0">

             

"center">

                 

             

             

"right">

                 

             

             

"center">

                 

             

             

"center">

                 

             

          

"header.jsp"/>
"menu.jsp"/>
"contentIndex.jsp"/>
"footer.jsp"/>

      

   

 

在使用标签之前需要完成以下过程:

[1]在项目的lib目录下引入下列jar包:struts.jar,commons-beanutils.jar,commons-digester.jsr,commons-logging.jsr

[2]   在web.xml文件中引入struts Tiles标签库

     /WEB-INF/struts-tiles.tld

     /WEB-INF/struts-tiles.tld

[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"%>

   

       产品信息反馈平台

   

   

      

"center">

          

"0">

             

"center">

                 

             

             

"right">

                 

             

             

"center">

                 

             

             

"center">

                 

             

          

"header"/>
"menu"/>
"content"/>
"footer"/>

      

   

 

标签的attribute属性来表示页面的各个部分,这些表示将在复合页面中被引用。

(3)建立复合页面

 

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>

   

       产品信息反馈平台

   

   

       "basePage.jsp">

          "header" value="menu.jsp">

          "menu" value="header.jsp">

          "content" value="contentIndex.jsp">

          "footer" value="footer.jsp">

      

   

 

页面首先使用标签引入模板页面,然后使用标签引入各个独立的页面。这些标签的顺序不起作用,可以随意排列,最终还是按照模板定义的位置来决定页面的显示。

4、利用Tiles框架来建立

(1)建立复合页面的各个部分header.jsp,menu.jsp,contentIndex.jsp,footer.jsp

(2)建立复合页面模板:basePage.jsp

(3)建立配置文件tiles-defs.xml

 

"1.0" encoding="UTF-8" ?>

    "index" path="/basePage.jsp">

       "header" value="header.jsp"/>

       "menu" value="menu.jsp"/>

       "content" value="contentIndex.jsp"/>

       "footer" value="footer.jsp"/>

   

 

代码说明:

[1] 复合页面的定义通过标签完成,页面的引用通过name属性值完成

[2] 可以定义多个复合页面,这些定义包含在标签内部

(4)在struts-config.xml文件中配置上述文件,引入Tiles插件

 

"org.apache.struts.tiles.TilesPlugin">

"definitions-config" value="/WEB-INF/tiles-defs.xml"/>

 

(5)若在struts-config.xml文件中使用自定义的RequestProcessor,该RequestProcessor需要继承自TilesRequestProcessor,否则Web启动时会出错,不能引入Tiles插件。

 

"com.struts.EncodingProcessor"/>

 

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"%>

   

       产品信息反馈平台

   

   

      

"center">

           "index">

      

   

 

总结:前两种方法基本类似,都是在复合页面中用命令或标签引入各个独立的页面,但是当复合页面的形式发生变化的时候,需要每个页面分别进行调整。第三种方法可以解决这个问题,先建立一个复合页面的模板页面,然后按照模板的定义引入各个页面,一旦需要修改所有的复合页面,只需要修改模板即可。第四种方法将每个复合页面的Tiles标签几种卸载一个配置文件中,既减少了复合页面中的代码量,也使得代码维护更加方便。

你可能感兴趣的:(java相关)