为什么我要使用自定义标签而不是 el 函数?比较时有哪些优点/缺点?
2 回答
EL 最初被设计用于 JSTL 标记的属性内,以及您可能想要使用或自己编写的任何其他自定义标记。
更高版本的 JSP 规范允许在 JSP 中直接使用 EL,但这并不意味着 JSTL 不再有用。您可以直接在 JSP 中使用 EL 做的唯一事情是向响应写入一些值,例如
${user.id} 将写入用户 bean 的 ID。如果你想要测试、循环、HTML 转义、URL、日期和数字格式等,你仍然需要使用 JSTL。EL 本身并不是很有用!您可以使用带有自定义标签的 EL 来帮助简化您的代码,尤其是对于非 Java 程序员!在此处查看自定义标签中 EL 的使用:http ://www.java-samples.com/showtutorial.php?tutorialid=551
我还可以添加以下信息:
JSP 标记对 jsp 页面是隐含的。它们不需要任何依赖项。一个例子是
<jsp:useBean ....
现在 .tld 文件(称为标签库目录)带有更多标签。一种是 JSTL,Java 标准标签库。它定义了:Java 标准标签和函数库。
Eventough函数库是在标签库中定义的,它们实际上不是标签,它们是表达式语言函数。它们只能用于 EL 表达式。JSTL 函数库(通常与 fn 命名空间一起使用)不能在 EL 表达式之外使用。
Java 标准标签库也定义了标准标签。一个例子是
<c:out ...