代码之家  ›  专栏  ›  技术社区  ›  T.R.

如何在页面中重用HTML/JSP?

  •  7
  • T.R.  · 技术社区  · 15 年前


    在项目的每个页面上,大约有25行混合的JSP、Struts标记、JSTL标记和HTML,它们被剪切并粘贴在页面的各个点上。这25行重复使用的代码 一页一页都不像 (共有250页), 但每一页都是一样的 . 最终,这个(业务逻辑)代码应该被移出视图,但是这样做将是一个比我目前的时间表所允许的更大的项目,所以我想知道是否有一个简单的方法可以在一个页面中重用混合标记+JSP,作为一个临时修复,这样代码就可以在时间允许的情况下分阶段重构。

    为了清楚起见,我正在寻找一种 封装代码而不创建新文件

    有人建议,这可以做瓷砖-如果是这样的话,请告诉我如何。

    3 回复  |  直到 15 年前
        1
  •  7
  •   Bozho    15 年前

    Apache tiles . 既然您正在使用Struts,我很惊讶您还没有找到它。它基本上是一个模板引擎,我认为符合您的要求。

    <jsp:include> 可用于 <jsp:param>

    <jsp:include file="includedFile.jsp">
        <jsp:param name="username" value="jsmith" />
    </jsp:include>
    

    实际上,如果只想包含一个带有公共代码的文件,我建议 <jsp:include> 超过瓦片的力量。

        2
  •  2
  •   jspcal    15 年前

    你可以创建一个包含文件jsp:包括它需要的地方。变量部分可以使用jsp条件、jstl EL属性或struts EL来完成。

    我不一定要重新编码现有的网页,因为他们已经在工作。

        3
  •  1
  •   Kalpak    15 年前

    Struts tile是Struts中用于模板化特定页面的最佳工具,这样所有页面的公共部分就不必每次都进行编码。 http://struts.apache.org/1.x/struts-tiles/ .

    一种更简单的方法非常特定于JSPjsp:包含为上面讨论过。

    仅就信息而言,还有第三种方法,即include指令方法

    之间的差异jsp:include和include指令如下

    只有在以下情况下才应使用include指令(<@include file relativeURL>) 1) 如果文件包含静态文本 3) 如果您有一个可以跨多个页面重用的通用代码段(例如页眉和页脚)

    一个人应该使用jsp:仅包含如果 2) 选择要在运行时呈现的内容(因为page和src属性可以采用运行时表达式)

    我希望这能帮助你做出决定。

    推荐文章