【问题标题】:Automatically include a JSP in every JSP在每个 JSP 中自动包含一个 JSP
【发布时间】:2009-08-06 17:51:43
【问题描述】:

我想通过透明地包含它们来进一步简化我的 JSP。例如,这是我要删除的行:

<%@ include file="/jsp/common/include.jsp"%>

include.jsp 文件基本上声明了我正在使用的所有标记库。我在 WebSphere 6.0.2 上运行这个我相信并且已经尝试过这个配置:

<!--    Include this for every JSP page so we can strip an extra line from the JSP  -->
    <jsp-config>
        <jsp-property-group>
            <url-pattern>*.htm</url-pattern>
            <!--<include-prelude>/jsp/common/include.jsp</include-prelude>-->
            <include-coda>/jsp/common/include.jsp</include-coda>
        </jsp-property-group>
    </jsp-config>

include-preludeinclude-coda 都不起作用。

我读到其他 WebSphere 用户无法启动并运行它;但是,tomcat 用户可以。

【问题讨论】:

    标签: java jsp websphere


    【解决方案1】:

    jsp-property-group 是在 JSP 2.0 (i.o.w. Servlet 2.4) 中引入的。 Websphere 6.0 是 Servlet 2.3。

    所以你有 3 个选择:

    1. 算了。
    2. 升级 Websphere。
    3. 替换 Websphere。

    【讨论】:

    • 我们可能会升级 websphere,但我们永远不会替换它,原因与当初选择它进行开发的原因相同。在开始使用 WID/WAS 之前,我曾经喜欢 IBM 产品。
    【解决方案2】:

    我不确定这是引入了哪个版本的 Servlet 规范...Websphere 的 servlet 容器可能不支持它吗?

    不管怎样,对于这类任务,有一个更好的第 3 方工具,称为 SiteMesh。它允许您完全按照您描述的方式撰写页面,但方式非常灵活。推荐。

    【讨论】:

    • 我支持这个。 SiteMesh 或 Tiles。
    • 我以前用过SiteMesh,很喜欢;但是,我们使用的是 Tiles。我只想简化 JSP,使其代码行数更少,精简到有意义的部分。
    【解决方案3】:

    你可以尝试编写一个过滤器来调用

    getRequestDispatch( "path-to-jsp-to-include" ).include( req, res )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-30
      • 1970-01-01
      • 2019-08-20
      • 1970-01-01
      • 2013-04-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多