SiteMesh简介三

2)、新建 inline.jsp,这个页面也会被main.jsp装饰,里面通过<page:applyDecorator>标签来引进别的页面,并且指定引入页面应用的装饰器。

 

<%@ taglib uri="http://www.opensymphony.com/sitemesh/page" prefix="page" %>

<%@ page contentType="text/html; charset=GBK"%>

<html>

    <head>

        <title>Inline decorator example</title>

    </head>

    <body>

        <p>/This is a sample of an inline decorator.</p>

        <table>

        <tr>

        <td>

<!—- 应用装饰器到指定的页面上,一般用于被装饰页面中主动应用包装器,这里,www.baidu.com的页面将panel装饰器装饰-->

        <page:applyDecorator name="panel" page="http://www.baidu.com" />

        </td>

        <td>

            <page:applyDecorator name="panel" page="http://www.google.com" />

        </td>

        <td>

        <page:applyDecorator name="panel">

            <page:param name="title">Inline content</page:param>

            Some inline stuff.

        </page:applyDecorator>

</td>

        </tr>

        </table>

    </body>

五、   结论

    基于过滤器的SiteMesh是一个非常灵活和简单易用的修饰器框架。但它还是存在着一些问题。首先,从Servlet 2.3版本才开始支持过滤器,所以一些早期版本的应用服务器无法支持SiteMesh。在使用SiteMesh之前请先检查一下您想使用的应用服务器是否支持过滤器。
另外,过滤器只有在使用浏览器请求一个页面的时候才能生效。所以,如果你通过浏览器访问home.jsp,它将被修饰,但如果你使用ServletRequestDispatcher.include()或者forward()来控制home.jsp,修饰器就不起作用了。不过,从Servlet 2.4版本开始,你可以配置过滤器适用的环境,包括forwardinclude的情况下都可以使用了。

你可能感兴趣的:(jsp,应用服务器,servlet,浏览器,Google)