<%@ include file="foo.html" %>
<jsp:include page="foo.html" />
// Save this as mytag.tag
<%@ tag description="Description" pageEncoding="UTF-8"%>
<html>
<head>
</head>
<body>
<jsp:doBody/>
</body>
</html>
<%@ taglib prefix="t" tagdir="/WEB-INF/tags" %>
<t:mytag>
<h1>Hello World</h1>
</t:mytag>
// Save this as product.tag
<%@ tag description="Product templage" pageEncoding="UTF-8"%>
<%@ tag import="com.myapp.Product" %>
<%@ attribute name="product" required="true" type="com.myapp.Product"%>
Product name: ${product.name} <br/>
Quantity: ${product.quantity} <br/>
并在另一个JSP上调用它
<%@ taglib prefix="t" tagdir="/WEB-INF/tags" %>
<t:product>
<c:forEach items="${cart.products}" var="product">
<t:product product="${product}"/>
</c:forEach>
</t:product>
在我看来,这与使用include并向其传递参数是一样的。那么标记文件和includes是一样的吗?
首先,为了使事情更清楚,这里是对JSP语法元素的简短概述:
有几种机制可以重用JSP文件中的内容。
<%@ include file="header.html" %>
<jsp:include page="header.jsp" />
<c:import url=”http://www.example.com/foo/bar.html” />
静态:前言和代码只能应用于页面的开头和结尾。
通过在Web应用程序Web.xml部署描述符中的
和
元素中分别添加
元素,可以隐式地包含一组JSP页面的前言(也称为头)和代码(也称为页脚)。在此阅读更多内容:
•在JSP的开头和结尾配置隐式包含
•定义隐式包含
标记文件是一种间接的内容重用方法,封装可重用内容的方式。标记文件是包含可作为自定义标记重用的JSP代码片段的源文件。
包含和标记文件的用途是不同的。
标记文件(JSP 2.0引入的一个概念)是创建自定义标记的选项之一。这是一种构建自定义标记的更快更容易的方法。自定义标记,也称为标记扩展,是允许其他Java组件提供的自定义逻辑和输出插入到JSP页面中的JSP元素。通过自定义标记提供的逻辑由称为标记处理程序的Java对象实现。
可以由自定义标记执行的任务的一些示例包括对隐式对象进行操作、处理表单、访问数据库和其他企业服务(如电子邮件和目录)以及实现流控制。
也许在您的示例中(在您的“编辑”段落中),使用直接include和一个标记文件没有区别。但是自定义标记有一组丰富的特性。他们可以
互相交流。您可以创建并初始化JavaBeans组件,在一个标记中创建引用该bean的公共EL变量,然后在另一个标记中使用该bean。
相互嵌套并通过私有变量进行通信。
请参阅“Pro JSP 2”:理解JSP自定义标记。
>
JSP中include指令和include操作之间的区别
为每项任务使用正确的工具。
使用标记文件作为创建自定义标记的一种快速简便的方法,可以帮助您封装可重用的内容。
至于JSP中包含的内容(此处引用):
问题内容: 似乎有两种使用JSP进行模板制作的方法。包含具有以下语句之一的文件 或使用JSP标记文件 然后在另一个JSP页面中使用 那么我应该使用哪种方法?现在是否已弃用一个,或者它们既有效又涵盖不同的用例? 编辑 使用此标记文件与使用包含文件不一样吗? 并在另一个JSP上调用它 在我看来,这与使用include并将参数传递给它完全相同。标记文件和包含的文件一样吗? 问题答案: 有几种重用JSP文
根据JSP规范: JSP容器可以包含一种机制,用于在包含的文件发生更改时收到通知,因此容器可以重新编译JSP页面。但是,JSP 1.2规范没有一种方法可以指示包含文件已更改的JSP容器。 我在一个在线教程中发现了这一点: 如果包含的文件发生了更改,但包含它的JSP没有发生更改,那么这些更改只会在我们使用包含动作标记时反映出来。如果您使用include指令,这些更改将不会反映出来,因为JSP没有更改
它们之间有什么区别吗?
本文向大家介绍在JSP中include动作和include指令之间有什么区别?,包括了在JSP中include动作和include指令之间有什么区别?的使用技巧和注意事项,需要的朋友参考一下 包含操作可让您将文件插入到正在生成的页面中。语法看起来像这样- 与include指令不同,include指令在将JSP页面转换为servlet时插入文件,而该动作则在请求页面时插入文件。
我正在尝试创建一个安装在sling中的捆绑包,并使用自定义TagLib。我想使用标记文件,而不是使用扩展TagSupport的java类。这样,我可以使用Sling模型来表示JCR,使用JSP标记文件来表示标记。 这是我的标记文件,它是一个非常基本的锚,没有什么特别的,我只是想测试一下: 我创建了一个TLD文件,我在WEB-INF/tags和META-INF/tags文件夹中都尝试了该文件(我去掉
我对docker比较陌生,我想知道docker-compose.yml文件和简单的docker文件有什么基本区别。