【问题标题】:Which one is better among <c:import> and <jsp:include> in terms of performance?<c:import> 和 <jsp:include> 在性能方面哪个更好?
【发布时间】:2024-01-08 04:21:01
【问题描述】:

我正在使用 import jstl 标签,用 jsp:include 代替 import 更好吗?

<c:choose>      
    <c:when test="${item.id=='masters'}">    
        <c:import url="/newclickmenu/mastermenuitems.jsp"></c:import>    
    </c:when>

    <c:when test="${item.id=='sales'}">   
        <c:import url="/newclickmenu/salesmenuitems.jsp"></c:import>   
    </c:when>
</c:choose>     

【问题讨论】:

    标签: jsp jstl


    【解决方案1】:

    &lt;c:import&gt; 将提供除&lt;jsp:include&gt; 之外的灵活性和功能改进。

    • &lt;c:import&gt; 将允许您指定来自其他 Web 应用程序、上下文以及 Web 服务器的内容;这为您提供了更大的灵活性。

    • 但请记住,静态包含总是比动态包含快;意义 that&lt;%@ include file="" %&gt;&lt;jsp:include&gt;&lt;c:import&gt; 都快。

    • 从技术上讲,&lt;c:import&gt; 应该只在您需要它的功能或灵活性时使用,性能的改进是最小的。

    • 有些人可能会说,如果您不需要它,那么实施 &lt;c:import&gt; 是不好的做法,因为它比 &lt;jsp:include&gt; 更重。

    【讨论】:

    • 能否访问WEB-INF文件夹中的页面?
    • 是的,正如我上面的代码,我正在从我的战争文件夹中导入它们。
    • @M.S.Naidu 抱歉,编辑;我觉得评论太多了。
    【解决方案2】:

    c:import 的一个重要优点是它可以像当前上下文中的其他 Web 应用程序一样包含外部资源。

    【讨论】:

      最近更新 更多