【发布时间】:2018-07-10 19:08:37
【问题描述】:
我很难找到正确的方法来使用 Java EE 7 在 JSP 中实现我的自定义标签。我可以看到 web.xml 'taglig' 元素已经过时,Java EE 7 文档只讨论了 JSF 自定义标签实现,但不是 JSP。不幸的是,我没有机会转向 JSF。任何帮助是极大的赞赏。
【问题讨论】:
标签: java jsp jakarta-ee custom-tags
我很难找到正确的方法来使用 Java EE 7 在 JSP 中实现我的自定义标签。我可以看到 web.xml 'taglig' 元素已经过时,Java EE 7 文档只讨论了 JSF 自定义标签实现,但不是 JSP。不幸的是,我没有机会转向 JSF。任何帮助是极大的赞赏。
【问题讨论】:
标签: java jsp jakarta-ee custom-tags
您可能需要更具体地了解您的自定义标签用例。 定义自定义标签的最简单方法是定义 .tag 文件(扩展名为 .tag 的 JSP 类型)并将其放入 {yourapp}/WEB-INF/tags/{dir}
例如
我在 WEB-INF/tags/custom 中有一个 custom.tag
<%@attribute name="greetName" type="java.lang.String"%>
<div>Hello, ${greetName }</div>
在我的 index.jsp 中
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib tagdir="/WEB-INF/tags/custom" prefix="ctm" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP in EE7</title>
</head>
<body>
<div>Before tag</div>
<ctm:custom greetName="John"></ctm:custom>
<div>After tag</div>
</body>
</html>
输出:
还有使用java代码定义标签的方法: 1.在WEB-INF中创建一个.tld文件 2.扩展BodyTagSupport或SimpleTagSupport类
.tag 文件非常适合重用 html 的某些片段,如果您需要更大的灵活性,可以扩展 *TagSupport 类。
【讨论】: