JSP 教程 之 JSP 自定义标签 3

简介: **JSP自定义标签允许创建用户定义的元素,通过转化为tag handlers在Servlet执行时操作。在JSP 2.0中,使用SimpleTagSupport简化了自定义。以下示例展示了一个名为`HelloTag`的简单标签,它有一个`message`属性。在TLD文件配置后,标签可在JSP页面中通过`<ex:Hello message="..."/>`使用,输出属性值。**

JSP 教程 之 JSP 自定义标签 3

JSP 自定义标签

自定义标签是用户定义的JSP语言元素。当JSP页面包含一个自定义标签时将被转化为servlet,标签转化为对被 称为tag handler的对象的操作,即当servlet执行时Web container调用那些操作。

JSP标签扩展可以让你创建新的标签并且可以直接插入到一个JSP页面。 JSP 2.0规范中引入Simple Tag Handlers来编写这些自定义标记。

你可以继承SimpleTagSupport类并重写的doTag()方法来开发一个最简单的自定义标签。

自定义标签属性

你可以在自定义标准中设置各种属性,要接收属性,值自定义标签类必须实现setter方法, JavaBean 中的setter方法如下所示:

package com.baidu;

import javax.servlet.jsp.tagext.;
import javax.servlet.jsp.
;
import java.io.*;

public class HelloTag extends SimpleTagSupport {

private String message;

public void setMessage(String msg) {
this.message = msg;
}

StringWriter sw = new StringWriter();

public void doTag()
throws JspException, IOException
{
if (message != null) {
/ 从属性中使用消息 /
JspWriter out = getJspContext().getOut();
out.println( message );
}
else {
/ 从内容体中使用消息 /
getJspBody().invoke(sw);
getJspContext().getOut().println(sw.toString());
}
}

}
属性的名称是"message",所以setter方法​​是的setMessage()。现在让我们在TLD文件中使用的元素添加此属性:


1.0
2.0
Example TLD with Body

Hello
com.baidu.HelloTag
scriptless

message



现在我们就可以在JSP文件中使用message属性了,如下所示:

<%@ taglib prefix="ex" uri="WEB-INF/custom.tld"%>








以上实例数据输出结果为:

This is custom tag

目录
相关文章
|
11月前
|
Java
JSP自定义标签【下】
JSP自定义标签【下】
62 0
|
12月前
|
Java
jsp自定义标签
jsp自定义标签
70 1
|
4月前
|
Java
JSP 教程 之 JSP 过滤器 5
JSP过滤器是Java类,用于动态拦截请求和响应。它们可附加到Servlet或JSP,改变或利用其中信息。示例展示了一个简单的`LogFilter`,它打印网站名称和地址。过滤器通过`doFilter`方法处理请求,然后传递给过滤链。`DisplayHeader`Servlet显示HTTP头信息,用于理解过滤器工作原理。
26 3
|
4月前
|
XML Java 数据格式
JSP 教程 之 JSP 过滤器 6
JSP教程介绍了JSP过滤器的概念,它是Java类,能拦截请求和响应,用于处理或修改其中的信息。过滤器可连接到单个或多个Servlet、JSP及HTML页面。示例展示了一个简单的日志过滤器`LogFilter`,它打印网站名称并传递请求。`DisplayHeader`Servlet显示HTTP头信息。在`web.xml`中配置过滤器映射,如`LogFilter`映射到`/*`,影响所有Servlet。访问特定URL会触发过滤器和Servlet的执行,日志可通过Log4J记录到文件。
20 3
|
4月前
|
Java
JSP 教程 之 JSP 过滤器 4
JSP过滤器是Java类,用于动态拦截请求和响应,可附加到Servlet、JSP或HTML。`LogFilter`示例展示了基础用法,输出网站名和地址,通过实现`Filter`接口并处理`ServletRequest`和`ServletResponse`。在`doFilter`方法中,打印站点信息并继续过滤链。
21 3
|
4月前
|
Java
JSP 教程 之 JSP 过滤器 7
JSP教程介绍了过滤器的概念,它们是Java类,用于动态拦截请求和响应。过滤器可附加到Servlet或JSP,允许多个过滤器如AuthenFilter和LogFilter按特定顺序工作。每个过滤器有自己的映射配置,如示例所示,通过&lt;filter&gt;和&lt;filter-mapping&gt;元素定义。LogFilter和AuthenFilter都映射到&lt;url-pattern&gt;/*,实现不同功能。
15 2
|
4月前
|
Java 容器
JSP 教程 之 JSP 自定义标签 4
**JSP自定义标签允许创建用户定义的语言元素。它们转换为Servlet中的tag handler,在执行时由Web容器调用。使用SimpleTagSupport继承并重写doTag()方法可创建简单标签。标签可设置属性,如message,通过setter方法访问。TLD文件定义属性元数据,JSP页面则通过prefix和uri引用。例如,&lt;ex:Hello message=&quot;...&quot;/&gt; 显示定制消息。属性可配置为必需、类型、描述及是否为JspFragment。**
20 0
|
4月前
|
搜索推荐 Java 容器
JSP 教程 之 JSP 自定义标签 2
**JSP自定义标签允许用户创建个性化标签,简化页面逻辑。在JSP 2.0中,通过继承`SimpleTagSupport`并重写`doTag()`可创建简单标签处理器。示例展示了一个名为`Hello`的自定义标签,它接收并显示标签体内容。TLD文件配置了标签元数据,JSP页面引用该标签并展示“这是消息主体”。**
19 0
|
4月前
|
Java 容器
JSP 教程 之 JSP 自定义标签 3
JSP自定义标签允许开发人员创建可重用的组件,简化页面逻辑。在JSP 2.0及以上版本,可通过继承`SimpleTagSupport`并覆写`doTag()`方法来创建自定义标签,如`HelloTag`,它有一个`message`属性。属性值通过setter方法`setMessage()`设置。在TLD文件中定义该属性后,可在JSP页面使用`&lt;ex:Hello message=&quot;This is custom tag&quot;/&gt;`来调用,输出定制的文本。
20 0
|
4月前
|
Java 容器
JSP 教程 之 JSP 自定义标签 1
**JSP自定义标签简介**:扩展JSP功能,创建用户定义标签,通过Servlet容器调用Tag Handler。在JSP 2.0中,使用SimpleTagHandlers简化定制。以&quot;Hello&quot;标签为例,创建`HelloTag`类继承`SimpleTagSupport`,重写`doTag()`打印消息。编译后,在`custom.tld`定义标签库,JSP页面引用后即可使用。例如 `&lt;ex:Hello/&gt;` 显示 &quot;Hello Custom Tag!&quot;。
21 0