JSP 教程 之 JSP 自定义标签 2

简介: **JSP自定义标签允许用户创建个性化标签,简化页面逻辑。在JSP 2.0中,通过继承`SimpleTagSupport`并重写`doTag()`可创建简单标签处理器。示例展示了一个名为`Hello`的自定义标签,它接收并显示标签体内容。TLD文件配置了标签元数据,JSP页面引用该标签并展示“这是消息主体”。**

JSP 教程 之 JSP 自定义标签 2

JSP 自定义标签

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

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

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

访问标签体

你可以像标准标签库一样在标签中包含消息内容。如我们要在我们自定义的Hello中包含内容,格式如下:


This is message body

我们可以修改标签处理类文件,代码如下:

package com.baidu;

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

public class HelloTag extends SimpleTagSupport {

StringWriter sw = new StringWriter();
public void doTag()
throws JspException, IOException
{
getJspBody().invoke(sw);
getJspContext().getOut().println(sw.toString());
}

}
接下来我们需要修改TLD文件,如下所示:


1.0
2.0
Example TLD with Body

Hello
com.baidu.HelloTag
scriptless


现在我们可以在JSP使用修改后的标签,如下所示:

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







This is message body


以上程序输出结果如下所示:

This is message body

目录
相关文章
|
1天前
|
存储 Java
JSP 教程 之 JSP 表达式语言 6
**JSP EL简化了JavaBean数据访问,支持算术和逻辑表达式,以及整数、浮点数等类型。隐含对象如pageScope、requestScope等代表不同作用域,便于访问请求参数、HTTP头信息和Cookie等。通过scope对象,如applicationScope,可直接在表达式中访问不同层次的变量,如`applicationScope.box`。**
6 0
|
1天前
|
存储 Java
JSP 教程 之 JSP 表达式语言 5
**JSP EL简化了JavaBean数据访问,支持数学和逻辑表达式,以及类型如整数、浮点数、字符串和布尔值。它有9个隐含对象,包括不同作用域的对象、请求参数、HTTP头、初始化参数和Cookie等。例如,使用`pageContext.request.queryString`可获取请求的查询字符串。**
7 0
|
1天前
|
存储 Java
JSP 教程 之 JSP 表达式语言 4
**JSP EL简化了JavaBean数据访问,支持算术和逻辑表达式,包含整数、浮点数等类型。核心特性是隐含对象,如** `pageScope` **、** `requestScope` **到** `applicationScope` **,以及** `param` **、** `cookie` **和** `pageContext` **等,它们可在表达式中作为变量使用。实例演示有助于深入理解。
5 0
|
2天前
|
存储 Java
JSP 教程 之 JSP 表达式语言 3
**JSP表达式语言(EL)**简化了JavaBean数据访问,支持算术和逻辑表达式,允许使用整数、浮点数、字符串及布尔值。**EL函数**通过命名空间引用,如 `${ns:func(param1, param2)}`,例如`fn:length`用于计算字符串长度。要使用函数,需先在服务器安装相关标签库,并在JSP中用`&lt;taglib&gt;`导入。
6 0
|
2天前
|
存储 Java
JSP 教程 之 JSP 表达式语言 2
**JSP表达式语言(EL)简化了JavaBean数据访问,支持算术和逻辑运算,如加(+), 减(-), 乘(*), 除(/), 模(%), 等于(==), 不等于(!=), 以及逻辑操作符(and, or, not)。EL还允许使用点(.), 方括号([])来访问属性和数组,以及测试空值(empty)。**
7 0
|
2天前
|
存储 Java 编译器
JSP 教程 之 JSP 表达式语言 1
**JSP EL**简化了JavaBean数据访问,用于创建算术和逻辑表达式。它支持整数、浮点数、字符串及布尔值。`${expr}`是表达式语法,`.`和`{}`用于访问属性。例如,设置JavaBean属性值:`&lt;jsp:setProperty name=&quot;box&quot; property=&quot;perimeter&quot; value=&quot;${2*box.width+2*box.height}&quot; /&gt;`。
7 0
|
3天前
|
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;`来调用,输出定制的文本。
7 0
|
3天前
|
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。**
4 0
|
7天前
|
自然语言处理 前端开发 Java
Servlet与JSP:Java Web开发的基石技术详解
【6月更文挑战第23天】Java Web的Servlet与JSP是动态网页的核心。Servlet是服务器端的Java应用,处理HTTP请求并响应;JSP则是结合HTML与Java代码的页面,用于动态内容生成。Servlet通过生命周期方法如`init()`、`service()`和`destroy()`工作,而JSP在执行时编译成Servlet。两者在MVC架构中分工,Servlet处理逻辑,JSP展示数据。尽管有Spring MVC等框架,Servlet和JSP仍是理解Web开发基础的关键。
|
7天前
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
【6月更文挑战第23天】构建Java Web应用,Servlet与JSP携手打造在线图书管理系统,涵盖需求分析、设计、编码到测试。通过实例展示了Servlet如何处理用户登录(如`LoginServlet`),JSP负责页面展示(如`login.jsp`和`bookList.jsp`)。应用基于MySQL数据库,包含用户和图书表。登录失败显示错误信息,成功后展示图书列表。部署到Tomcat服务器测试功能。此基础教程为深入Java Web开发奠定了基础。