jsp自定义标签

简介: jsp自定义标签

 1.什么是jsp标签:

Javajsp自定义标签是一种在JSP页面中编写的标记,它可以将Java代码和HTML标记结合起来,使得复杂的页面构建更加容易。自定义标签可以实现简单到简单的操作,例如将字符串格式化成货币格式、生成HTML表格等,也可以实现更复杂的操作。

   2.jsp标签语言特点:

  1. 模块化:自定义标签可以重用,减少了代码冗余,使得代码更加清晰简洁。
  2. 动态性:自定义标签可以基于不同的条件来生成不同的输出结果。
  3. 灵活性:自定义标签可以与其他JSP的标签类和JavaBean配合使用,增加代码的可扩展性。
  4. 可维护性:使用自定义标签可以很容易地维护和修改代码。
  5. 外部化:可以通过配置文件或属性文件来配置自定义标签,提供更高级的定制性。
  6. 可重用性:自定义标签可以在不同的项目中被重用,使得代码的开发成本和维护成本得到大大降低。

               标签形式:

<开始标签 属性="属性值">标签体</结束标签>
示例:
<c:if test="true">true</c:if>

           标签分类:

         

  空标签: br   hr    
    UI标签 :    input,table  
    控制标签:  if  foreach
    数据标签:  out
             3.自定义标签开发    :

Java自定义标签(Tag)是一种在JSP页面中编写的标记,它允许我们自定义一些扩展标记库,并在JSP页面中使用。

      步骤

    继承Bodytagsuppcrt:

 

   标签描述tld:

<?xml version="1.0" encoding="UTF-8"?>
<taglib xmlns="http://java.sun.com/xml/ns/xy"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/xy/web-jsptaglibrary_2_0.xsd"
    version="2.0">
  <description>JSTL 1.1 core library</description>
  <display-name>JSTL core</display-name>
  <tlib-version>1.1</tlib-version>
  <short-name>k</short-name>
  <uri>xy</uri>
  <validator>
    <description>
        Provides core validation features for JSTL tags.
    </description>
    <validator-class>
        org.apache.taglibs.standard.tlv.JstlCoreTLV
    </validator-class>
  </validator>
  <tag>
  <!-- 标签库的名字 -->
    <name>xy</name>
    <!-- 该标签对应的助手类 -->
    <tag-class>com.xiaoye.xytag</tag-class>
  <!-- 代表是一个JSP标签 -->
    <body-content>JSP</body-content>
    <attribute>
      <!-- 该自定义JSP标签的属性名称 -->
        <name>var</name>
      <!-- 该属性是否必填 -->
        <required>false</required>
       <!-- 该属性值是否支持表达式 -->
        <rtexprvalue>false</rtexprvalue>
    </attribute>
  </tag>
  <tag>
    <name>if</name>
    <tag-class>com.xiaoye.Iftag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
        <name>test</name>
        <required>true</required>
        <rtexprvalue>true</rtexprvalue>
    </attribute>
  </tag>
  <tag>
    <name>set</name>
    <tag-class>com.xiaoye.Settag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
        <name>var</name>
        <required>true</required>
        <rtexprvalue>false</rtexprvalue>
    </attribute>
    <attribute>
        <name>value</name>
        <required>true</required>
        <rtexprvalue>true</rtexprvalue>
    </attribute>
  </tag>
  <tag>
    <name>out</name>
    <tag-class>com.xiaoye.Outtag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
        <name>value</name>
        <required>true</required>
        <rtexprvalue>true</rtexprvalue>
    </attribute>
  </tag>
</taglib>

   通过taglib导入:

 4.标签的生命周期:

JSP标签的生命周期主要包括初始化、执行、清理三个阶段。

标签开发场景:

除了初始化、执行、清理三个阶段之外,我们还可以通过编写标签处理器中的doStartTag() 和 doEndTag() 方法来控制标签在JSP页面中的显示和行为。在doStartTag() 方法中,我们可以确定继续执行标签的方式,例如执行标签主体或直接跳过。在doEndTag() 方法中,我们可以执行一些清理动作并确定标签的离开方式。

 

   5.if标签:

if标签可以根据给定的条件决定哪些部分应该在JSP页面中显示或隐藏。

 

  6.set/out标签  

set标签:

<c:set>标签的作用是设置属性,相当于执行request.setAttribute(name,value)指令。

<c:set>标签最重要的属性是name和value,其中:

  • name属性表示变量的名字,是一个字符串类型的值。这个绑定变量的名字必须是唯一的。
  • value属性是变量的值。
  • 如果不满足条件,则该变量不设置值。

out标签:

<c:out>标签是JSTL标准标签库中的一个常用标签,专门用来在JSP页面中输出文本、变量及表达式的值。它类似于<%= %>标签,但具有更多的灵活性和安全性。

<c:out>标签支持以下属性:

  • value:要输出的内容,可以是文本、变量或表达式。
  • escapeXml:用于指定是否需要对输出内容进行 HTML 转义,默认为 true。
  • default:如果输出内容为null或空字符串,则显示默认值。
  • scope:用于指定查找变量的作用域,可以是page、request、session或application。

 

   


目录
相关文章
|
11月前
|
Java
JSP自定义标签【下】
JSP自定义标签【下】
62 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 自定义标签 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 自定义标签 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
|
5月前
|
Java 数据安全/隐私保护
Jsp自定义标签(foreach,dept,select)
Jsp自定义标签(foreach,dept,select)
42 0
|
5月前
|
XML Java 数据格式
JSP自定义标签
JSP自定义标签
68 0
|
12月前
|
前端开发 Java
通用分页进阶之jsp之自定义标签
通用分页进阶之jsp之自定义标签
31 1
|
11月前
|
存储 Java 开发者
JSP自定义标签(下)
JSP自定义标签(下)
53 0
|
11月前
|
XML Java 数据格式
JSP自定义标签
JSP自定义标签
43 0