首页 > 其他分享 >【webapp】在 JSP 页面中引入标签库和使用自定义标签

【webapp】在 JSP 页面中引入标签库和使用自定义标签

时间:2023-10-09 10:33:53浏览次数:34  
标签:自定义 示例 标签 JSP com 页面

自定义标签的基本步骤:

  1. 创建自定义标签库文件:首先,您需要创建一个包含自定义标签定义的标签库文件(通常以 .tld 扩展名结尾)。该文件描述了标签的名称、属性和处理逻辑。

  2. 引入标签库:在 JSP 页面中,通过使用 <%@ taglib %> 指令来引入自定义标签库。该指令告诉 JSP 引擎在页面中使用自定义标签。

  3. 使用自定义标签:一旦引入了标签库,您可以在 JSP 页面中使用自定义标签。自定义标签可以像任何其他 HTML 或 JSP 元素一样使用,并且可以传递属性和访问标签的处理逻辑。

下面是一个简单的示例,演示了如何引入标签库和使用自定义标签:

  1. 创建标签库文件(mytags.tld):
xml
<?xml version="1.0" encoding="UTF-8"?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd"
        version="2.0">

    <tlib-version>1.0</tlib-version>
    <short-name>mytags</short-name>
    <uri>http://example.com/mytags</uri>

    <tag>
        <name>hello</name>
        <tag-class>com.example.HelloTag</tag-class>
        <body-content>empty</body-content>
    </tag>
</taglib>

在上述示例中,我们定义了一个名为 hello 的自定义标签,指定了标签的实现类为 com.example.HelloTag。该标签没有任何正文内容。

  1. 创建自定义标签的 Java 类(HelloTag.java):
java
package com.example;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.SimpleTagSupport;
import java.io.IOException;

public class HelloTag extends SimpleTagSupport {

    @Override
    public void doTag() throws JspException, IOException {
        getJspContext().getOut().println("Hello, World!");
    }
}

在上述示例中,我们创建了一个继承自 SimpleTagSupport 的 Java 类,并重写了 doTag() 方法。在该方法中,我们使用 getJspContext().getOut().println() 输出 "Hello, World!"。

  1. 在 JSP 页面中引入标签库和使用自定义标签:
jsp
<%@ taglib prefix="my" uri="http://example.com/mytags" %>

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>JSP 自定义标签示例</title>
</head>
<body>
    <h1>使用自定义标签</h1>

    <my:hello/>
</body>
</html>

在上述示例中,我们使用 <%@ taglib %> 指令引入了自定义标签库,并指定了前缀 my 和 URI http://example.com/mytags。然后,在页面中使用 <my:hello/> 标签来调用自定义标签。

当您访问该 JSP 页面时,自定义标签会被执行,输出 "Hello, World!"。

请注意,您需要将标签库文件和自定义标签的 Java 类正确放置在项目中,并确保在部署时配置正确的路径和包名。

标签:自定义,示例,标签,JSP,com,页面
From: https://www.cnblogs.com/mamamia/p/17750889.html

相关文章

  • TinyMCE——自定义工具栏按钮(基础按钮、下拉框按钮、弹框按钮等)
    详细配置查看官方文档:https://www.tiny.cloud/docs/tinymce/6/custom-toolbarbuttons/  配置方式:tinymce.init({selector:'#editor',toolbar:'myCustomToolbarButton',setup:(editor)=>{editor.ui.registry.addButton('myCustomToolb......
  • 【webapp】JSP 内置对象
    request:表示客户端的请求信息,可以用于获取请求参数、请求头、请求方法等。response:代表服务器对客户端的响应,可以用于设置响应头、响应内容等。out:是一个输出流对象,可以用于向客户端输出内容。session:表示用户的会话,可以用于在不同的页面之间共享数据。application:代表整个应......
  • 【webapp】JSP页面间跳转和包含
    在JSP中,有两种常见的页面间跳转和包含方式:转发(forward)和包含(include)。转发(Forwarding):通过转发,一个页面可以将请求转发给另一个页面进行处理,然后由该页面生成响应。转发是在服务器端完成的,客户端并不知道实际的页面地址。使用转发的语法是 request.getRequestDispatcher("......
  • 【webapp】JSP 标签的分类(动作标签、指令标签、表达式标签)
    SP(JavaServerPages)标签是用于在JSP页面中插入特定功能和逻辑的标记。根据其功能和用途,JSP标签可以分为以下三类:动作标签(ActionTags):动作标签用于执行特定的操作或调用服务器端的功能。它们通常以<jsp:开头,并以>结束。动作标签可以使用内置的JSP动作或自定义的标......
  • 【webapp】JSTL(JSP Standard Tag Library)
    JSTL(JSPStandardTagLibrary)是一个标准的JSP标签库,提供了一组用于处理常见任务的标签和函数,以简化JSP页面的开发。以下是关于JSTL的使用方法:引入JSTL标签库:在使用JSTL之前,首先需要在JSP页面中引入JSTL标签库。可以通过<%@taglib%>指令来完成引入。JSTL标......
  • 【wabapp】jsp输出内容
    静态HTML内容:JSP页面中的所有静态HTML内容,例如标签、文本、图像等,会直接显示在生成的HTML页面中。这些内容不受JSP代码的影响,会原样输出。jspCopy<!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>StaticHTMLContent</title></head><......
  • PyQt 自定义信号带参数 emit
    PyQt5自定义信号带参数importsysfromPyQt5.QtCoreimportpyqtSignal,QObjectfromPyQt5.QtWidgetsimportQMainWindow,QApplicationclassmysignal(QObject):closeApp=pyqtSignal(list)classExample(QMainWindow):def__init__(self):super().......
  • vue封装搜索组件,自定义elment搜索组件
    组件案例<template><divclass="dialog-search"><el-form:inline="true"ref="ruleForm":model="formInline"class="demo-form-inlinetop-screen"><divclass="to......
  • pytorch 自定义dataset类
    实现模版classour_dataset(Dataset):def__init__(self,···):super(our_dataset,self).__init__()#初始化,可以自定义添加参数def__getitem__(self,index):···returnimg,label#根据索引(0,len(dataset)-1)获取......
  • RFID电子标签介绍
    简介RFID是无线射频识别即射频识别技术简称,常用有:1.低频125k-134.2k;2.高频13.56mhz(14443A协议(NFC),15693协议);3.超高频860-928mhz(6c或者6b协议)4.2.4G/5.8G有源同频段、同协议的读写设备与标签要对应才能使用。高频和超高频如何选择?高频,近距离读取,0-10cm,相对读写设备选择较......